Method for using customer attributes to select a service representative

ABSTRACT

A customer submits a request for assistance to a customer service. Accordingly, the customer service may access a customer database to obtain one or more customer preferences that can be used to select a service representative. If the customer database does not include these preferences, the customer service may utilize one or more customer attributes to calculate these one or more customer preferences. Subsequently, the customer service may access a service representative database and select a service representative based at least in part on the one or more customer preferences. The customer service may transmit the request to the selected service representative to enable the service representative to assist the customer.

BACKGROUND

Service providers often employ service representatives to providecustomer assistance and support to customers and other users of theservice. These service representatives may be permitted to utilize acomputing device provided by the service provider in remote locations,thereby increasing the potential range and availability of these servicerepresentatives over various regions. Additionally, having servicerepresentatives in remote locations may reduce the infrastructure costfor a service provider, as the service provider may no longer berequired to maintain centralized office space and to provide otheramenities for these service representatives. Despite their manyadvantages, ensuring that service representatives provide a secure andproperly tailored environment for customer interactions may bedifficult. For example, despite their best efforts to avoid it,unauthorized persons may utilize the computing device provided by theservice provider and potentially obtain customer information andinteract with customers and other users of the service. Further, servicerepresentatives may utilize the computing device in an undesirableenvironment, where others may be present or where the environment is notconducive to customer interaction. Additionally, a customer, uponsubmitting a request for assistance, may be connected to a servicerepresentative at random, such that the potential exists that thecustomer may not be comfortable with the selected servicerepresentative. These, in turn, may result in a potentially negativecustomer experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, in which:

FIG. 1 shows an illustrative example of an environment in which variousembodiments can be implemented;

FIG. 2 shows an illustrative example of an environment in which variousembodiments can be implemented;

FIG. 3 shows an illustrative example of an environment in which aservice representative environment is analyzed and determined to beacceptable for customer interaction in accordance with at least oneembodiment;

FIG. 4 shows an illustrative example of an environment in which aservice representative environment is analyzed and determined to beunacceptable for customer interaction in accordance with at least oneembodiment;

FIG. 5 shows an illustrative example of an environment in which one ormore analyses are performed on a service representative environment inaccordance with at least one embodiment;

FIG. 6 shows an illustrative example of an environment in which variousembodiments can be implemented;

FIG. 7 shows an illustrative example of a customer database comprising aplurality of customer entries in accordance with at least oneembodiment;

FIG. 8 shows an illustrative example of a service representativedatabase comprising a plurality of service representative entries inaccordance with at least one embodiment;

FIG. 9 shows an illustrative example of an environment in which aservice representative is selected to provide customer assistance basedat least in part on customer preferences and attributes in accordancewith at least one embodiment;

FIG. 10 shows an illustrative example of an environment that includesone or more components of a customer service system in accordance withat least one embodiment;

FIG. 11 shows an illustrative example of a process for analyzing aservice representative environment to determine whether to allow aservice representative to interact with customers in accordance with atleast one embodiment;

FIG. 12 shows an illustrative example of a process for recording one ormore customer preferences based at least in part on customer informationand/or explicit customer preference input in accordance with at leastone embodiment;

FIG. 13 shows an illustrative example of a process for selecting aservice representative based at least in part on customer preferencesstored in a customer database in accordance with at least oneembodiment;

FIG. 14 shows an illustrative example of a process for dynamicallyselecting a service representative based at least in part on one or morecustomer attributes obtained when a customer submits a request forassistance in accordance with at least one embodiment; and

FIG. 15 illustrates an environment in which various embodiments can beimplemented.

DETAILED DESCRIPTION

In the following description, various embodiments will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the embodiments.However, it will also be apparent to one skilled in the art that theembodiments may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe embodiment being described.

Techniques described and suggested herein relate to the use of multiplesensors on a computing device provided to a service representative tomanage the service representative's interactions with customers and to amethod for matching a customer to a service representative based oncustomer and service representative attributes. In an embodiment, anentity (e.g., an individual located in a remote location) initializes aservice representative environment application to interact with acustomer(s) of the service provider. The service representativeenvironment application may be installed on a computing device used by aservice representative in remote (relative to the service provider)locations and which may be configured to enable interactions with thecustomer(s) of the service provider. The entity may be a servicerepresentative located in a remote location, employed by the serviceprovider, to provide customer assistance to the customer(s) of theservice provider.

When the entity launches the service representative environmentapplication on the computing device, the application may interact with acomponent(s) of or otherwise associated with the computing device togather environmental measurements related to the surrounding environmentin which the computing device is used. The components may include, forexample, a microphone, camera, light sensor, motion sensor, globalpositioning system antennae and/or other device. The environmentalmeasurements may include facial recognition details, sound levels,global positioning system (GPS) coordinates, light intensity, motiondetection characteristics and the like. In some embodiments, the servicerepresentative environment application may transmit these measurementsto an environment analysis component of the customer service system, todetermine whether the surrounding environment is suitable for customerinteraction. For instance, the environment analysis component may beconfigured to compare the received measurements to a set of servicebaseline values, established by the service provider as beingacceptable, to determine whether the surrounding environment isacceptable for enabling a service representative to interact with acustomer(s) of the service provider. If any of the received measurementsare outside of these acceptable values, the environment analysiscomponent may transmit a command(s) to a policy enforcement component,such as through one or more application programming interface (API)calls to the component, to cause the policy enforcement component totake a mitigating action(s). For instance, the command(s) may cause thepolicy enforcement component to transmit a second set of commands to theservice representative environment application, which may cause theapplication to prevent the entity from interacting with any customers ofthe service provider.

In an embodiment, the customer service system is configured to obtaincustomer information from a customer in order to provide customizedcustomer support in the event that the customer requires assistance froma service representative. For instance, when a customer obtains a devicefrom the service provider, the customer may be required to create a newcustomer account. In order to create this new customer account, thecustomer may be required to and/or provided the opportunity to providecertain customer information, such as the customer's name, address, age,gender, preferred languages and the like. Additionally, oralternatively, the customer service system may obtain customerinformation through alternative methods, such as through the customer'spurchase history. In an embodiment, the customer information is storedwithin a customer database, which may comprise a listing of all of thecustomers of the service provider, as well as a set of attributes foreach of these customers.

When a customer provides customer information to the customer servicesystem, he/she may be permitted to provide the customer service systemwith a preference(s), which may be used to identify a servicerepresentative that may assist the customer should he/she requireassistance. These preferences may be stored within the customer databaseas well. In an embodiment, if the customer has not provided the customerservice system with a preference(s), the customer service system canutilize a heuristic(s) to calculate these preferences based on thecustomer information provided by the customer or obtained throughalternative methods.

In an embodiment, when a customer submits a request for assistance, thecustomer service system can access the customer database to determine acustomer preference(s) which may be used to select an appropriateservice representative to assist the customer. For instance, thecustomer service system may maintain a service representative databasethat may comprise a listing of all service representatives employed bythe service provider to provide assistance to the customers of theservice provider. The service representative database may furtherinclude, for each service representative listed, a set of attributeswhich may be used in conjunction with the customer preferences to selecta service representative for the customer. If more than one servicerepresentative is selected (e.g., two or more service representativessatisfy the customer preferences), the customer service system mayperform additional calculations based on both the customer attributesincluded in the customer database and the attributes of the selectedservice representatives included in the service representative databaseto select a service representative that may assist the customer. Thecustomer service system may transmit the customer request to the servicerepresentative environment application, which may subsequently connectthe service representative to the customer.

In an embodiment, the customer service system can be configured todynamically select a service representative to assist a user uponreceiving a request for assistance. For instance, the device provided tothe customer by the service provider, may be configured to utilize adevice(s) installed on or otherwise associated with (e.g., as aperipheral of) the device (e.g., camera, microphone, etc.) to determinea set of attributes of the user. Based on these user attributes, thecustomer service system may access the customer database and determinewhether these user attributes match those of the customer. If the userattributes differ from those of the customer, the customer servicesystem may utilize these user attributes to create servicerepresentative criteria for selecting an appropriate servicerepresentative. The customer service system may access the servicerepresentative database and utilize these service representativecriteria to select a service representative that may respond to theuser's request for assistance.

In this manner, a service provider may enable a customer or other userof the customer service system to interact with a service representativethat is in a secure, acceptable environment and that may be compatiblewith the customer or other user. In addition, the techniques describedand suggested herein facilitate additional technical advantages. Forexample, because the service representative environment application ispersistently operating within the service representative's assignedcomputing device while interacting with customers of the serviceprovider, the service representative environment application may, atparticular intervals or in response to a triggering event(s), continueto utilize the devices installed on the computing device to obtainmeasurements of the surrounding environment and provide thesemeasurements to the customer service system. This, in turn, may enablethe customer service system to take mitigating actions should thecomputing device encounter an unfavorable surrounding environment thatis not conducive to customer interaction. In another example, becausethe customer service system may be able to dynamically select a servicerepresentative based on one or more user attributes, the user may beable to interact with a service representative that is not only familiarwith the user's issue, but may also have other things in common with theuser. This, in turn, may make the user feel more comfortable with theservice representative and lead to a better user experience.

FIG. 1 shows an illustrative example of an environment 100 in whichvarious embodiments can be implemented. In the environment 100, acustomer service system 102 may be configured, by a service provider, toprovide assistance to one or more customers of the service provider. Thecustomer service system 102 may include a service configured, by theservice provider, to enable customers of the service provider to accessdigital content (e.g., music, eBooks, documents, etc.) over a network,such as the Internet. Other services are also considered as being withinthe scope of the present disclosure, such as services involved inproviding an electronic commerce website or other application where acustomer may need help managing their account, placing an order orotherwise interacting with the provided services. The customer servicesystem 102 may be configured to include an option, usable by thecustomers of the service provider, to request customer assistance shouldan issue arise through the use of the service provided by the serviceprovider. For instance, if a customer of the service provider isexperiencing difficulty in downloading a particular document from theservice, the customer may access the customer service system 102 andutilize an interface provided by the customer service system 102 torequest assistance. The customer service system 102 may identify aservice representative that may be able to assist the customer throughthe particular issue.

As illustrated in FIG. 1, the environment 100 includes a servicerepresentative 104. The service representative 104 may be an individualemployed by the service provider to utilize a computing device 106,which may be provided by the service provider, to remotely assistcustomers of the service provider should it be required. In order toremotely assist customers of the service provider, the servicerepresentative 104 may be required to utilize the computing device 106to initialize a service representative environment application installedon the computing device 106. The service representative environmentapplication may be configured to interact with one or more peripheraldevices 108 to scan the surrounding environment in which the computingdevice 106 is located. For instance, the service representativeenvironment application may initialize a camera installed on thecomputing device 106 to obtain visual measurements of the surroundingenvironment. Further, the camera may be used to obtain an image of theservice representative 104, which may be used to perform one or morefacial recognition analyses. Other peripheral devices 108 may includemicrophones, light sensors, motion sensors, global positioning systemantennae, olfactory sensors and other sensors.

Once the service representative environment application installed on thecomputing device 106 has utilized the one or more peripheral devices 108to scan the surrounding environment and obtain environment measurements,the service representative environment application may transmit (i.e.,cause the computing device executing the application to transmit) thesemeasurements to an environment analysis component 110 of the customerservice system 102. The environment analysis component 110 may compriseone or more hardware resources (e.g., hardware servers, data storagedevices, network devices, processors and other equipment) configured toperform one or more analyses based at least in part on the receivedenvironment measurements to determine whether the surroundingenvironment where the service representative 104 is utilizing thecomputing device 106 is acceptable for providing customer assistance.For instance, the environment analysis component 110 may include adatabase comprising a listing of acceptable values or ranges of valuesfor one or more environment metrics. These environment metrics mayinclude decibel levels, light intensity, number of individuals withinthe surrounding environment, facial features (e.g., hair color, eyecolor, facial geometry, etc.) and the like. Further, the database maycomprise a listing of known acceptable values for the surroundingenvironment for the particular service representative 104. Theseacceptable values may have been obtained through a previous analysis ofthe surrounding environment for the service representative 104 that wasverified as being within a set of baseline acceptable values, defined bythe service provider, for the one or more environment metrics. While theenvironment analysis component 110 is described and illustrated as acomponent of the customer service system 102, in some embodiments, someor all analysis described herein is performed by the computing device106 in accordance with executable instructions for performing some orall of the analysis. Remote attestation to executable code of thecomputing device 106 and/or other techniques may be used to ensure thatthe analysis performed by the computing device 106 is performedcorrectly (e.g., by ensuring that the executable code is unmodifiedand/or that other code of the computing device 106 is in an approvedstate).

The environment analysis component 110 may determine, through one ormore analyses of the environment measurements received from the servicerepresentative environment application installed on the computing device106, that the surrounding environment is not conducive to providingassistance to customers of the service provider. The environmentanalysis component 110 may transmit one or more commands to a policyenforcement component 112, such as through one or more API calls to thepolicy enforcement component 112, to perform one or more mitigatingactions. For instance, if the environment analysis component 110determines, based at least in part on the received environmentmeasurements, that there are more than one individual in the surroundingenvironment and that none of these individuals appear to be the servicerepresentative 104, the environment analysis component 110 may transmitthis information to the policy enforcement component 112. The policyenforcement component 112 may determine that a proper mitigating actionto be performed is a termination of the service representativeenvironment application and notice to the service representative 104that the surrounding environment has failed the environment analyses,that unauthorized individuals are present and that at least oneunauthorized individual has attempted to interact with customers of theservice provider.

In an embodiment, the environment analysis component 110 is configuredto utilize one or more functions (classifiers) to determine whether theenvironment measurements satisfy minimum requirements established by theservice provider and one or more baseline environment metrics for theparticular service representative 104 who was issued the computingdevice 106. The environment analysis component 110 may organize thereceived environment measurements into one or more vectors, which may beanalyzed, through the one or more functions to determine whether theenvironment where the computing device 106 is located is compliant withthe criteria (e.g., minimum requirements) established by the serviceprovider and the one or more baseline environment metrics for theparticular service representative 104. The results of these analyses,utilizing the one or more functions, may then be provided to the policyenforcement component 112.

The environment analysis component 110 may be initialized and/or updatedusing machine learning techniques, such as supervised learningtechniques. A machine learning algorithm may, at any time, utilize oneor more sample vectors to perform one or more simulations to determinewhether the functions utilized by the environment analysis component 110are producing correct and accurate results and/or to refine the one ormore functions utilized by the environment analysis component 110 toproduce correct and accurate results. For instance, duringinitialization of the machine learning algorithm, the service providermay provide the machine learning algorithm with one or more samplevectors and analytical results (e.g., desired outcomes) that should beobtained based at least in part on these one or more sample vectors. Themachine learning algorithm, based at least in part on this exercise, mayadjust the functions utilized by the environment analysis component 110to analyze the surrounding environment where the computing device 106 islocated.

The machine learning algorithm may receive input from one or moreanalysts employed by the service provider to analyze the results fromthe one or more analyses performed by the environment analysis component110 through use of the one or more functions described above. Forinstance, an analyst may review images, video, audio, and/or numericalmeasurements of the environment of a service representative 104 todetermine whether the surrounding environment of the servicerepresentative 104 is compliant with the service provider's criteria.The analyst may provide his/her input for use in refining a functionused to classify vector input as corresponding to compliant ornon-compliant environments. The vector of measurements corresponding tothe review performed by the analyst and the desired outcomecorresponding to the analyst's input may be used by the machine learningalgorithm to update the function used to classify vector inputs. Suchmay be performed by multiple analysts and/or using multiple vectorinputs to provide the machine learning algorithm a sufficient number ofsample vector inputs and desired outputs. The machine learning algorithmmay adjust the one or more functions used by the environment analysiscomponent 110 to increase the likelihood that the desired result isobtained in future analyses.

The function used to classify measurement vectors may vary in accordancewith various embodiments. For example, in some embodiments, supportvector machine techniques are used to classify regions in Euclideanspace as compliant or non-compliant so that measurements are classifiedin accordance with the region in which the measurement vectors fall. Inyet another embodiment, the machine learning algorithm can utilizedecision tree learning to determine a decision (classification,regression) tree used to classify vector input as compliant ornon-compliant. As a fictitious illustrative example, if a minimumrequirement established by the service provider is that male servicerepresentatives cannot have a certain hair length but female servicerepresentatives can, the machine learning may result in a decision treethat, at least in part, bifurcates based on vector components indicatingthe gender of a customer service representative and his/her hair length.If the input includes a male with hair that exceeds a predeterminedlength, the one or more functions (decision trees) would, in thisexample, be configured to provide a result that the environment is notcompliant. Thus, the machine learning algorithm may adjust the one ormore functions if these one or more functions do not result in an issueif a male has a hair length that exceeds the predetermined length.

The policy enforcement component 112 may transmit one or more executableinstructions to the service representative environment applicationthrough the computing device 106 that, when executed by the application,may cause the application to perform the one or more mitigating actionsrequested by the policy enforcement component 112. Using the exampleabove, if the policy enforcement component 112 has determined that theproper mitigating action to be performed is a termination of the servicerepresentative environment application and notice to the servicerepresentative 104 that the surrounding environment has failed theenvironment analyses, the application may generate a notice that isdisplayed on the computing device 106 to inform the servicerepresentative 104 of the issues concerning the surrounding environmentand, subsequently, the application may terminate itself. If the servicerepresentative 104 initiates the service representative environmentapplication at a later time, the service representative environmentapplication may obtain a new set of environment measurements andtransmit these measurements to the environment analysis component 110 toperform new analyses based at least in part on these measurements.

If the environment analysis component 110 determines that thesurrounding environment where the computing device 106 is located isacceptable (e.g., satisfy the specified acceptable environment metricsincluded in the database), then the environment analysis component 110may transmit this information to the policy enforcement component 112.The policy enforcement component 112 may transmit one or more executableinstructions to the service representative environment application that,when executed by the application, causes the application to enable theservice representative 104 to interact with any customer of the serviceprovider requiring assistance. Further, the service representativeenvironment application may continue to utilize the one or moreperipheral devices 108 to obtain further environment measurements, whichmay be used to continue evaluating the surrounding environment and,should the surrounding environment become unacceptable, take mitigatingaction to prevent further interaction with customers of the serviceprovider.

As noted above, the computing device provided to a servicerepresentative may include a service representative environmentapplication configured to obtain measurements for the surroundingenvironment where the computing device is located and provide thesemeasurements to an environment analysis component to determine whetherthe surrounding environment is acceptable for customer interactions.FIG. 2 shows an illustrative example of an environment 200 in which aservice representative environment application 202 installed on acomputing device issued to a service representative is configured tointeract with one or more peripheral devices to obtain and provideenvironment measurements to a customer service system 204. As notedabove, the computing device issued to a service representative by theservice provider may include one or more peripheral devices (e.g.,sensors), which may be used to scan the surrounding environment andobtain one or more environment measurements. The service representativeenvironment application 202, installed on the computing device, may beconfigured to initiate these one or more peripheral devices and obtainthese environment measurements. The service representative environmentapplication 202 may begin to utilize the one or more peripheral devicesto scan the environment upon being initialized by the servicerepresentative or after a certain time interval or triggering event.

As illustrated in FIG. 2, the service representative environmentapplication 202 may interact with one or more peripheral devicesinstalled on the computing device provided to the service representativeto scan the surrounding environment. For instance, in this particularillustrative example, the service representative environment application202 may interact with at least five types of peripheral devices. Theperipheral devices that may be installed on the computing device, inthis example, include a GPS antenna 212, a microphone 214, a lightsensor 216, a motion sensor 218 and a camera 220, although not allembodiments of the present disclosure will include all such peripheraldevices and additional peripheral devices may be installed on thecomputing device in addition to or as an alternative to the peripheraldevices explicitly described herein.

The GPS antenna 212 may be installed on the computing device to identifythe location of the computing device on Earth's surface. The GPS antenna212, along with an integrated GPS receiver installed on the computingdevice, may be used to communicate with four or more satellites orbitingEarth to determine a distance between the GPS receiver and each of thefour or more satellites. Further, the GPS receiver may receive thelocation of these four or more satellites orbiting the Earth's surfacefrom each of these satellites in the form of radio signals. With thisinformation, the GPS receiver may utilize three-dimensionaltrilateration to calculate the location of the GPS receiver on theEarth's surface. Thus, the GPS antenna 212 and GPS receiver may beutilized to determine whether the computing device is being utilized ina private residence, public location or other location. Location mayalso be determined in other ways in accordance with various embodiments.For example, a location determination module may also be stored inmemory (e.g., module of executable code) and be configured to determinethe location of the computing device 106 of FIG. 1 (i.e., to cause adevice executing the code to determine the location). The locationdetermination module may be configured to determine location usingnetwork positioning services or facilities. For example, the customerservice system 204 may query a cellular data carrier to providepositioning information for the computing device 106 based at least inpart on time-difference-of-arrival data to several cellular radio sites.The location determination module may also receive information from datanetworks or third-party providers which associate a particular networkaddress to a particular location. For example, the internet protocoladdress of 206.33.56.105, a media access control address04:00:12:03:11:A1 of a wireless access point, or both may be associatedwith the street address of 935 Pennsylvania Avenue Northwest inWashington, D.C.

The microphone 214 may be installed on the computing device to detectand record audio input from the surrounding environment. The microphone214 may be configured to convert acoustic waves into electrical signals,which a processor may utilize to measure the intensity of the acousticwaves. Further, the processor may record the electrical signals from themicrophone 214 into a digital file, which may be used by an audiosoftware application to analyze the recorded audio input and, based onthe analysis, determine certain characteristics of the audio input. Forinstance, an audio software application may be able to discern whetherone or more individuals are present and speaking to one another in thesurrounding environment. Further, the audio software application may beable to discern whether other audio producing devices are operatingwithin the surrounding environment. The microphone 214 may be utilizedto determine whether the computing device is being utilized in a publiclocation, a noisy location, or a location where more than one individualare present.

The light sensor 216 may be installed on the computing device to detectthe intensity of light in the surrounding environment. For instance, thelight sensor 216 may be configured to convert the light energy from thesurrounding environment into an electrical signal. A processor mayutilize this electrical signal to determine one or more characteristicsof the surrounding environment. For instance, the electrical signal maybe utilized to determine what kind of light sources are present in thesurrounding environment. The light sensor 216 may be utilized todetermine whether the computing device is being utilized in a locationwith commercial, domestic or natural light sources.

The motion sensor 218 may be installed on the computing device to detectthe motion of an individual or other object within the surroundingenvironment. The motion sensor 218 may be configured to operate invarious ways. For instance, the computing device may include aradar-based motion sensor, which may be configured to transmit a radiosignal throughout the surrounding environment. The motion sensor 218 mayreceive a reflected signal from the environment. If, at any point, thereflected signal from the environment changes, the motion sensor 218 maydetect the presence of a change in the environment. The servicerepresentative environment application may utilize the motion sensor 218to detect such a change and initiate the other peripheral devices toobtain new environment measurements.

The camera 220 may be installed on the computing device for a variety ofpurposes. For instance, the camera 220 may be used to capture apictographic (e.g., visual) representation of the surroundingenvironment, which may be used to determine, among other things, thecharacteristics of the surrounding environment, the physicalcharacteristics of the service representative (e.g., facial features,hair color, eye color, etc.) and the presence of additional individualsin the surrounding environment. This pictographic representation of thesurrounding environment may also be used to obtain additional, redundantdata points as those produced by other peripheral devices. For example,the pictographic representation of the surrounding environment may beused to determine the light intensity of the surrounding environment. Inanother example, the camera 220 may be used in place of the motionsensor 218, such that the camera 220 may operate persistently andcapture a pictographic representation of the surrounding environmentshould the camera 220 detect a change in the surrounding environment.

In an embodiment, the computing device provided to a servicerepresentative can include a trusted platform module (TPM), which may beused to ensure that software applications and/or associated resourcefiles, an operating system, and/or firmware of the computing device havenot been tampered, modified, removed or added without properauthorization. For instance, the TPM may include an attestation identitykey (AIK), which may be used to digitally sign a hash of firmware,software and/or associated resource files installed on the computingdevice prior to execution of the firmware and the software. Thisdigitally signed hash may be transmitted, by the service representativeenvironment application 202 to the environment analysis component 206 ofthe customer service system 204 to determine whether the software and/orfirmware configuration of the computing device has been tampered with.For instance, the environment analysis component 206 may utilize apublic cryptographic key to verify the digital signature of the hashand, subsequently, utilize the hash to determine whether it matches aknown hash value for the particular computing device. If the hash valuesdo not match, then the computing device may have been altered in anunauthorized manner and, thus, may not be secure for customerinteractions.

Once the service representative environment application 202 receives thevarious environment measurements (e.g., GPS coordinates, pictographicrepresentations of the surrounding environment, light intensityreadings, etc.), the service representative environment application 202may transmit, through a network 210, such as the Internet, theseenvironment measurements to an environment analysis component 206 of thecustomer service system 204. The environment analysis component 206 maycomprise one or more hardware devices, such as one or more data storagedevices and processors, collectively configured to utilize the receivedenvironment measurements to determine whether the surroundingenvironment where the computing device is located is conducive tocustomer interaction. For instance, the environment analysis component206 may include a database comprising a listing of one or more baselineenvironment metrics that may be used to establish a range of acceptablevalues for the surrounding environment in order to be deemed conduciveto customer interaction. An example of baseline environment metric isthat no more than one individual may be present in the surroundingenvironment at a given time. Thus, if the environment analysis component206 analyzes the environment measurements obtained from the servicerepresentative environment application 202 and determines that more thanone individual is present in the surrounding environment, theenvironment analysis component 206 may specify that this metric has notbeen met and transmit one or more commands to a policy enforcementcomponent 208 to prevent the computing device from being used tointeract with customers.

In an embodiment, the environment analysis component 206 is configuredto further maintain a set of baseline environment metrics for eachindividual service representative that may be using a computing devicein a remote location. The baseline environment metrics for eachindividual service representative may satisfy the one or more baselineenvironment metrics established by the customer service system 204 as aminimum requirement for the surrounding environment to be conducive tocustomer interaction. The environment analysis component 206 may beconfigured to analyze the received environment measurements to determinewhether these measurements satisfy the minimum requirements for thesurrounding environment and the baseline environment metrics for theindividual service representative. For instance, if the receivedenvironment measurements deviate from the baseline environment metricsfor the individual service representative by a certain amount, theenvironment analysis component 206 may determine that the surroundingenvironment has changed sufficiently to present an issue, even thoughthe received environment measurements satisfy the minimum requirementsestablished by the provider of the customer service system 204.

As noted above, the environment analysis component 206 may utilize amachine learning algorithm, which may be configured to obtain theresults of all analyses performed by the environment analysis component206 to refine the one or more classifier functions used to classifyvector inputs. As additional sample vectors and desired outcomes areprovided, the machine learning algorithm may modify the one or moreclassifier functions utilized by the environment analysis component 206such that future analyses are more likely to produce accurate results.Classifier functions may be utilized on a global and/orper-representative basis and/or for other bases (e.g., categories ofrepresentatives, such as department or other categorizations). Globally,a classifier function may be used for all representatives. Forper-representative or per-category classifier functions, eachrepresentative or category of representatives may have their ownclassifier used instead of or in addition to a global classifierfunction. For instance, if one or more analyses of the surroundingenvironment produces a result that the surrounding environment is notcompliant because the person utilizing the computing device isclassified as not being the service representative because the servicerepresentative does not have, for example, magenta-colored highlights inher hair, the machine learning algorithm may adjust the classifierfunctions utilized by the environment analysis component 206 such thatthe environment analysis component 206 is not only able to identify theservice representative if the service representative's hair color haschanged, but also determine whether such a change in hair color shouldraise other concerns (e.g., one or more requirements that a servicerepresentative should only have natural hair colors, etc.). In someembodiments, different classifier functions are used together (i.e., toform a composite classifier function). For instance, for a surroundingenvironment to be considered compliant, a measurement vector for theenvironment may have to be classified as compliant by all of multipleclassifier functions (e.g., a global or category-specific classifierfunction together with a representative-specific classifier function).

Once the environment analysis component 206 has completed analyzing thereceived environment measurements from the service representativeenvironment application 202, the environment analysis component 206 maytransmit one or more commands to a policy enforcement component 208,such as through one or more API calls to the component, to cause thepolicy enforcement component 208 to perform one or more tasks inaccordance with the results of the analyses. For instance, if thereceived environment measurements do not satisfy the minimumrequirements set forth by the service provider for the customer servicesystem 204 or deviate sufficiently from the baseline environment metricsfor the particular service representative, the policy enforcementcomponent 208 may transmit one or more executable instructions, throughthe network 210, to the service representative environment application202 that may cause the service representative environment application202 to perform one or more mitigating actions (e.g., termination of theapplication, preventing the service representative from accessingcustomer information, obtaining additional environment measurements forfurther analyses, etc.). Alternatively, if the received environmentmeasurements do satisfy the minimum requirements set forth by theservice provider and the baseline environment metrics for the particularservice representative, the policy enforcement component 208 maytransmit one or more executable instructions to the servicerepresentative environment application 202 that may cause the servicerepresentative environment application 202 to enable the servicerepresentative to utilize the application to access customer informationand provide customer assistance to customers of the service provider.

In some embodiments, the environment analysis component 206 provides theone or more environment measurements received from the computing deviceto one or more analysts employed by the service provider. These one ormore analysts may utilize these environment measurements to determinewhether the surrounding environment where the service representative'scomputing device is located is compliant with the service provider'sminimum requirements. Further, in some embodiments, the one or moreanalysts may compare the results of its analyses to the results obtainedfrom the environment analysis component 206 to determine whether theenvironment analysis component 206 is accurately determining whether thesurrounding environment is compliant or non-compliant. If the one ormore analysts determine that the environment analysis component 206 didnot produce the desired outcome based at least in part on one or moreanalyses of the received environment measurements, the vector ofmeasurements corresponding to the review performed by the one or moreanalysts and the desired outcome corresponding to the analyst's inputmay be provided to the machine learning algorithm. The machine learningalgorithm may utilize the vector of measurements and the desired outcometo update the function used to classify vector inputs. Such may beperformed by multiple analysts and/or using multiple vector inputs toprovide the machine learning algorithm a sufficient number of samplevector inputs and desired outputs. The machine learning algorithm mayadjust the one or more functions used by the environment analysiscomponent 206 to increase the likelihood that the desired result isobtained in future analyses.

As noted above, the computing device issued to a service representativefor providing customer assistance to customers of a service provider mayinclude a variety of peripheral devices which may be used by a servicerepresentative environment application, installed on the computingdevice, to obtain environment measurements of the surroundingenvironment. FIG. 3 shows an illustrative example of an environment 300in which a service representative environment 302 is analyzed anddetermined to be acceptable for customer interaction in accordance withat least one embodiment. In an ideal service representative environment302, the computing device 304 may be placed in a location where theentire service representative environment 302 may be scanned to obtain aset of environment measurements. For instance, in this illustrativeexample, the computing device 304, through the one or more peripheraldevices and the service representative environment application installedon the computing device 304, may obtain a pictographic representation ofthe service representative environment 302, as well as other environmentmeasurements (e.g., sound levels, light intensity, etc.). For example, apictographic representation of the service representative environment302 may illustrate that the service representative 306 is locateddirectly in front of the computing device 304, the servicerepresentative 306 has installed an adaptive background screen 308(e.g., temporary wall) to create a more presentable workspace anddisplay one or more images and a television set 310, located in the rearof the service representative environment 302, has not been turned on.Further, an audio recording of the service representative environment302 may also indicate that the television set 310 has not been turned onand is thus not producing any unwanted noise.

In an embodiment, and as will be described in greater detail below inconnection with FIG. 14, the adaptive background screen 308 isconfigured to display one or more images based at least in part on oneor more personal characteristics of a user that has submitted a requestfor assistance. The screen may be a projection screen, a “green screen”enabling use of chroma keying techniques by the computing device 304and/or the customer service system 314. With chroma keying techniques,two or more images and/or video streams may be layered together based oncolor hues. For example a video of the customer service representative306 may be layered over a background image that has been selected basedat least in part on attributes and/or preferences associated with thecustomer. Physical characteristics of the customer servicerepresentative 306 may be selected for compatibility with chroma keyingtechniques employed so that, for example, green hair will not cause thecustomer service representative 306 to appear to the customer to haveinvisible hair when the chroma keying techniques are applied. When thecustomer service system utilizes user attributes to select an availableservice representative 306 from a service representative database, thecustomer service may transmit a request for assistance to the computingdevice 304 of the selected service representative 306. This, in turn,may cause the computing device 304 to transmit one or more executableinstructions to the adaptive background screen 308, such as through oneor more wireless communications methods (e.g., WiFi, Bluetooth®, etc.),to cause the adaptive background screen 308 to display the one or moreimages.

Once these environment measurements have been obtained by the servicerepresentative environment application installed on the computing device304, the application may transmit these measurements, over a network 312such as the Internet, to an environment analysis component 316 of thecustomer service system 314. As noted above, the environment analysiscomponent 316 may be configured to obtain these environment measurementsand perform one or more analyses to determine whether these environmentmeasurements satisfy one or more threshold requirements (e.g., maximumallowable sound levels, maximum amount of individuals present in theservice representative environment 302, etc.). Further, the environmentanalysis component 316 may be configured such that these one or moreanalyses may be performed to determine whether these environmentmeasurements are within the baseline environment metrics for theindividual service representative 306. In this illustrative example, theobtained environment measurements satisfy both the minimum requirementsestablished by the service provider and the baseline environment metricsfor the individual service representative 306. The environment analysiscomponent 316 may transmit one or more commands to a policy enforcementcomponent 318, such as through one or more API calls to the component,to cause the policy enforcement component 318 to perform one or moreactions. For instance, since the present service representativeenvironment 302 satisfies the one or more minimum requirements set forthby the service provider and are within a particular range for thebaseline environment metrics for the individual service representative306, the environment analysis component 316 may cause the policyenforcement component 318 to enable the service representative 306 toutilize the computing device 304 to interact with customers of theservice provider and access customer information.

The policy enforcement component 318 may transmit, over the network 312,one or more executable instructions to the service representativeenvironment application installed on the computing device 304 that, whenexecuted by the application, may cause the application to enable theservice representative 306 to utilize the computing device 304 tointeract with customers requiring assistance and to access customerinformation, as needed. Further, the one or more executable instructionsmay cause the service representative environment application installedon the computing device 304 to continue to utilize the peripheraldevices installed on the computing device 304 to monitor the servicerepresentative environment 302 to obtain new environment measurementsfor analysis after a certain period of time or as a result of a changein the service representative environment 302 (e.g., additionalindividuals are detected, sounds levels increase, light intensitychanges, etc.).

If, alternatively, the service representative environment is notconducive to customer interaction, it may be desirable to prevent theservice representative from interacting with customers of the serviceprovider until remedial actions are taken to bring the environment intocompliance with certain minimum requirements. FIG. 4 shows anillustrative example of an environment 400 in which a servicerepresentative environment 402 is analyzed and determined to beunacceptable for customer interaction in accordance with at least oneembodiment. In this illustrative example, the computing device 404,through the one or more peripheral devices and the servicerepresentative environment application installed on the computing device404, may obtain a pictographic representation of the servicerepresentative environment 402, as well as other environmentmeasurements (e.g., sound levels, light intensity, etc.). However,unlike the ideal service representative environment illustrated in FIG.3, the pictographic representation of the service representativeenvironment 402 may illustrate that the service representative 406 isnot positioned in front of the computing device 404, that there areadditional individuals 408 present and that the television set 410 hasbeen turned on. Further, an audio recording of the servicerepresentative environment 402 may include conversations between theservice representative 406 and the additional individuals 408 present,as well as noise that may be emitted by the television set 410.

These environment measurements may be transmitted by the servicerepresentative environment application, through a network 412, to theenvironment analysis component 416 of the customer service system 414.The environment analysis component 416 may analyze these environmentmeasurements to determine whether these environment measurements satisfythe minimum requirements for an environment as defined by the serviceprovider, as well as a set of baseline environment metrics for theindividual service representative 406. For instance, a minimumrequirement for the environment is that no one other than the servicerepresentative 406 may be present within the service representativeenvironment 402 while the computing device 404 is in use. Theenvironment measurements for the service representative environment 402may fail to meet these minimum requirements, as additional individuals408 were detected in the service representative environment 402.Further, as a result of the additional individuals 408 being present inthe service representative environment 402, as well as the televisionset 410 emitting additional noise into the service representativeenvironment 402, the environment measurements may fail to satisfyadditional minimum requirements for appropriate sound levels.

Additionally, these environment measurements may fail to satisfy one ormore baseline environment metrics for the individual servicerepresentative 406. For instance, if the baseline environment metricsfor the individual service representative 406 were established based atleast in part on environment measurements obtained for an environmentsimilar to that illustrated in FIG. 3, the environment measurementsobtained for the service representative environment 402 may sufficientlyvary from these baseline environment metrics to result in detection of apotential issue with the present environment.

If the environment analysis component 416 determines, based at least inpart on analyses of the received environment measurements, the minimumrequirements set forth by service provider and the baseline environmentmetrics for the individual service representative 406, that the servicerepresentative environment 402 is not suitable for customer interaction,the environment analysis component 416 may transmit one or more commandsto a policy enforcement component 418 to prevent the servicerepresentative 406 from interacting with customers of the serviceprovider. The policy enforcement component 418 may determine, based onthe results of the analyses, what mitigating actions should be taken.For instance, the policy enforcement component 418 may transmit, throughthe network 412, one or more executable instructions to the servicerepresentative environment application installed on the computing device404 that, when executed by the application, may cause the application todisplay, on the computing device 404, an informative notice as to thecurrent issues with the service representative environment 402 and themitigating actions being taken to prevent interaction with customers ofthe service provider. Further, the executable instructions may furthercause the application installed on the computing device 404 to disableaccess to customer information and any further interactions withcustomers of the service provider, as well as cause the application toterminate.

As noted above, a service representative environment application may beinstalled on a computing device and configured to utilize one or moreperipheral devices installed on the computing device to obtainenvironment measurements for the service representative environment.These measurements may be transmitted to an environment analysiscomponent of a customer service system for analysis to determine whetherthe service representative environment is suitable for customerinteraction. FIG. 5 shows an illustrative example of an environment 500in which one or more analyses are performed on a service representativeenvironment in accordance with at least one embodiment. In theenvironment 500, the environment analysis component of the customerservice system may have received one or more environment measurementsfrom a service representative environment application installed on acomputing device issued to a service representative. For instance, theseenvironment measurements may include a pictographic representation 502of the surrounding environment, one or more audio recordings and othermeasurements.

As noted above, the environment analysis component of the customerservice system may comprise one or more hardware resources (e.g.,hardware servers, data storage devices, network devices, processors andother equipment) configured to perform one or more analyses based atleast in part on the received environment measurements to determinewhether the surrounding environment is suitable for interaction with oneor more customers of the service provider. For instance, as illustratedin FIG. 5, the environment analysis component may utilize a pictographicrepresentation 502 of the surrounding environment to detect and identifyeach individual within the surrounding environment. For example, in thepictographic representation 502, the environment analysis component hasdetected that at least three individuals are present. Further, theenvironment analysis component may utilize one or more algorithms, aswell as a database comprising known physical characteristics of each ofthe service representatives employed by the service provider, toidentify the service representative 504 and determine, based on theirphysical characteristics, that the other individuals 506 are not servicerepresentatives.

In addition to an analysis of the pictographic representation 502 of thesurrounding environment, the environment analysis component may evaluatethe one or more audio recordings of the surrounding environment todetermine whether the sound levels within the surrounding environmentare conducive to interactions with one or more customers of the serviceprovider. For instance, as illustrated in FIG. 5, the environmentanalysis component has determined, based at least in part on these audiorecordings, that the sound level within the surrounding environment isapproximately 137.6 decibels. The environment analysis component maycompare this sound level to a maximum allowable sound level requirementestablished by the service provider. Further, the sound level of thesurrounding environment may also be compared to a known baselineenvironment metric for this particular service representative 504 todetermine whether there has been a significant variance between pastmeasurements and this current measurement.

If the sound level of the surrounding environment exceeds the maximumallowable sound level, as illustrated in FIG. 5, or is substantiallydifferent than the known baseline environment metric for this particularservice representative 504, the environment analysis component maytransmit one or more commands to a policy enforcement component in orderto prevent the service representative 504, or any other user, fromutilizing the computing device to interact with customers of the serviceprovider or access customer information. The policy enforcementcomponent of the customer service system may transmit one or moreexecutable instructions to an application installed on the computingdevice that, when executed by the application, may cause the applicationto perform one or more mitigating actions (e.g., disable communicationswith any other customers, disable access to a customer database, displaya pictographic representation of the analyses performed and theresulting issues, etc.). Thus, the service representative 504 may beprevented from communicating with one or more customers of the serviceprovider and may also be presented with sufficient information to takeappropriate remedial actions to correct any existing issues and resumeinteraction with the one or more customers of the service provider asrequired.

As noted above, if the surrounding environment where the servicerepresentative is utilizing the computing device issued to him/her bythe service provider has been determined to be acceptable forinteracting with one or more customers, the service representative mayutilize the computing device to provide customer assistance and accesscustomer information.

FIG. 6 shows an illustrative example of an environment 600 in which acustomer service system 602 may select an appropriate servicerepresentative to provide customer assistance to a customer inaccordance with at least one embodiment. In the environment 600, acustomer computing device 606 may submit a request, to the customerservice system 602, to obtain assistance related to one or more featuresof a service provided by the service provider. For instance, thecustomer computing device 606 may require assistance with accessing oneor more music files purchased from the service provided by the serviceprovider. The customer service system 602, in response to the requestfrom the customer computing device 606 for assistance, may access acustomer database 610 to obtain one or more characteristics of thecustomer computing device 606, as well as one or more preferences, whichmay be used to identify an appropriate service representative that maybe able to assist the customer computing device 606.

As will be described in greater detail below in connection with FIG. 7,the customer database 610 may comprise a listing of one or morecustomers of the service provider, as well as a listing ofcharacteristics and preferences for each of these one or more customers.For instance, when a customer computing device 606 initially establishesa relationship with the customer service system 602 (e.g., creates a newaccount, utilizes a device provided to the customer computing device 606by a service provider for accessing the customer service system 602,etc.), the customer may be required to provide information regarding himor herself. For example, the customer computing device 606 may providethe customer's name, home mailing address, billing address, age range,gender, known languages and the like. Further, the customer may be giventhe opportunity to define one or more preferences, which may be used bythe customer service system 602 to identify a service representativethat may assist the customer should the need arise. In an embodiment, ifthe customer has not specified one or more preferences which may be usedto select a service representative, the customer service system 602 canaccess the customer database 610 and, based at least in part on theinformation included within the customer database 610 associated withthe customer, utilize one or more algorithms to generate one or morepreferences, which may then be stored within the customer database 610.

When the customer service system 602 receives a request, from thecustomer computing device 606, for assistance from a servicerepresentative, the customer service system 602 may utilize the customerdatabase 610 to obtain the customer's characteristics and preferences.The customer service system 602 may access a service representativedatabase 612, which may comprise a listing of one or more servicerepresentatives employed by the service provider to provide assistanceto the customers of the service provider. As will be described ingreater detail in connection with FIG. 8, the service representativedatabase 612 may additionally include a listing of one or morecharacteristics for each of the one or more service representativesemployed by the service provider. These characteristics may be similarto those included in the customer database 610. The customer servicesystem 602 may utilize the customer's preferences to identify one ormore service representatives from the service representative database612 that may satisfy these preferences. For instance, if a customer hasspecified (e.g., through the customer computing device or anothercomputing device) that he or she prefers to be assisted by a servicerepresentative that is fluent in Spanish, the customer service system602 may identify, from the service representative database 612, one ormore service representatives that are fluent in Spanish.

If the customer service system 602 identifies more than one servicerepresentative that satisfies the customer's preferences, the customerservice system 602 may utilize one or more algorithms to select aservice representative based at least in part on the similaritiesbetween the customer's characteristics and the characteristics of eachof the service representatives initially selected based at least in parton the customer's preferences. For instance, the customer service system602 may be configured to utilize these one or more algorithms to rankthe selected service representatives based at least in part on thesesimilarities. The highest ranked service representative may be selectedto assist the customer 606.

In an embodiment, the customer service system 602 can transmit one ormore executable instructions to the customer's computing device 606 toobtain one or more characteristics of the customer, which may be used todetermine whether the customer has an entry included in the customerdatabase 610 and, if not, utilize one or more functions to select aservice representative from the service representative database 612 thatmay assist the customer. For instance, the customer service system 602may transmit one or more executable instructions to the customer'scomputing device 606 that may cause the computing device to initializeand/or use one or more peripheral devices, including multiple sensors,installed on the computing device to capture and obtain these one ormore customer characteristics. The multiple sensors installed on thecomputing device may include a GPS antenna, a microphone, a lightsensor, a motion sensor and a camera, although not all embodiments ofthe present disclosure will include all such sensors and additionalsensors may be installed on the computing device in addition to or as analternative to the sensors explicitly described herein. Additionally, oralternatively, the customer service system 602 may transmit one or moreexecutable instructions to the customer's computing device 606 that maycause the computing device to retrieve a log comprising a listing of oneor more actions performed by the customer in utilizing the computingdevice. For example, the computing device may be configured to track thecustomer's interactions with the computing device 606 and maintain alisting of these interactions within a log file. The customer servicesystem 602 may receive these customer characteristics and/or log filesfrom the customer's computing device 606 to determine whether thesematch a customer entry within the customer database 610 and to determinethe nature of the customer's request for assistance. If there is amatch, the customer service system 602 may utilize the customer entrywithin the customer database 610 to select an appropriate servicerepresentative from the service representative database 612.Alternatively, if there is no match, the customer service system 602 mayutilize one or more classifier functions and select an appropriateservice representative from the service representative database 612based at least in part on the received customer characteristics and/orlog files.

In an embodiment, the customer service system 602 can utilize an avatarcreated by the customer or other user to obtain one or morecharacteristics of the customer that may be used to select a servicerepresentative from the service representative database 612 that mayassist the customer. The avatar may be any type of representation of thecustomer such as a human, animal, mechanical, or other object. Forexample, in an online card game the avatar may be represented simply asa pair of hands holding cards or simply as the cards themselves. Thecustomer service system 602 may be configured to analyze the customeravatar to obtain one or more customer characteristics and preferencesthat may be recorded in the customer's entry within the customerdatabase 610. Additionally, the customer service system 602 may beconfigured to analyze the one or more interactions the customer may havehad with his/her avatar. For instance, the customer may utilize anavatar within a virtual environment to hunt for wild game. The computersystem service 602 may utilize this information to determine that thecustomer may enjoy hunting as a hobby. This information may be added tothe customer database 610 for use in selecting a service representative.If the avatar corresponds to a user that has not been identified as acustomer, the customer service system 602 may utilize one or morecharacteristics of the avatar to identify one or more preferences forthe user and select an appropriate service representative from theservice representative database 612. The avatar, as well as interactionswith a virtual environment performed using the avatar, may be obtainedby the customer service system 602 from another entity (synchronously orasynchronously), such as a gaming system service, a social networkingwebsite or any other virtual computer system environment. In someembodiments, requests for assistance may be routed to customer servicerepresentatives based at least in part on similar interests. Forexample, the representative and/or customer attributes may be determinedfrom the customer's purchase history, as well as social network data ofcustomers who have chosen to link their electronic commerce provideraccounts with social network accounts. A graph of the interests ofcustomers calling or otherwise requesting assistance from the electroniccommerce provider can be made and compared with the volunteeredinformation from the social network and used to match customer servicerepresentatives to customers based at least in part on similarities.

In an embodiment, the customer service system 602 utilizes one or moremachine learning algorithms to further calibrate the one or moreclassifier functions utilized to select an appropriate servicerepresentative from the service representative database 612. Forinstance, supervised learning techniques such as described above may beused to determine and/or refine the one or more classifier functions. Amachine learning algorithm may, for example, be provided with one ormore inputs (e.g., for each of multiple customers (either fictitious orreal) a vector based on stored information and/or environmentalmeasurements of a customer or other user of the customer's computingdevice 606) and corresponding desired outputs (e.g., traits of a humanselected customer service representative) to determine/refine functionsused by the customer service system 602 to improve the process ofselecting a service representative. For example, the machine learningalgorithms may be provided, by a service provider, one or more sampleinputs that include a sample log file, sample avatar-related data andsample customer characteristics that may, theoretically, be includedwithin the customer database 610. In an embodiment, the machine learningalgorithms may further utilize customer feedback to determine whetherthe one or more classifier functions utilized by the customer servicesystem 602 may need to be refined. For instance, the service providermay employ one or more analysts that may be tasked with analyzingcustomer surveys and/or feedback regarding their interaction withservice representatives to determine whether the one or more classifierfunctions utilized by the customer service system 602 result in theselection of service representatives that not only provide propercustomer service to the customers, but also make the customers feelcomfortable while providing assistance. The one or more analysts mayprovide input to the machine learning algorithms that, based at least inpart on the input, may cause the machine learning algorithms to refinethe one or more classifier functions used by the customer service system602 to improve the selection of service representatives based at leastin part on customer input (e.g., log files, customer characteristics,avatar-related data etc.).

In some embodiments, unsupervised machine learning techniques may beused to determine and/or refine a classifier function for matchingcustomers to customer service representatives. Customers may be assignedrepresentatives on some basis (e.g., randomly or using an initialclassifier function). At least some customers may provide input aboutthe assignments that were made, such as by providing ratings of customerservice representatives that have been assigned and other feedback asdescribed above. These inputs may be used to determine/refine a costfunction that is used to train a model, such as a neural network modelthat can be used to take information about a customer as an input todetermine a suitable customer service representative. Unsupervisedlearning techniques, accordingly, may be used to detect patterns insuccess of assignments of customers to representatives and the detectedpatterns can be used to make future assignments.

Once the customer service system 602 has selected an appropriate servicerepresentative from the service representative database 612, thecustomer service system 602 may transmit the customer request forassistance to the service representative's computing device 604. Thecustomer request may include associated customer information from thecustomer database 610 or obtained from the customer's computing device606 (e.g., from the log files and/or computed by the customer servicesystem 602 using one or more functions), as well as the issue thecustomer is trying to have resolved. The service representativecomputing device 604 may utilize the received customer request toestablish a connection to the customer's computing device 606 and engagethe customer to resolve the customer's issue.

As noted above, the customer service system may maintain a customerdatabase comprising customer information that may be used, by thecustomer service system, to select a service representative should acustomer require assistance related to a service provided by the serviceprovider. FIG. 7 shows an illustrative example of a customer database702 comprising a plurality of customer entries in accordance with atleast one embodiment. For instance, in this particular illustrativeexample, the customer database 702 may include at least five distinctcategories for customer characteristics, which may include biometric andgeographic characteristics for a customer. The customer characteristicsthat may be included in the customer database 702, in this example,include a customer identifier 704, known languages 706, gender 708,customer location 710 and customer preferences 712, although not allembodiments of the present disclosure will include all such customercharacteristics and additional customer characteristics may be includedin the customer database 702 in addition to or as an alternative to thecustomer characteristics explicitly described herein.

The customer identifier column 704 within the customer database 702 maybe utilized to identify and distinguish each customer registered toutilize the customer service system. For instance, when a customerregisters with the service provider to utilize the customer servicesystem, the service provider may generate a unique customer identifierthat may be assigned to the particular customer. Alternatively, thecustomer may be granted the option to generate his or her own uniquecustomer identifier, which, if accepted by the service provider, may beused to access the customer service system. When a customer submits arequest to the customer service system to obtain assistance, the requestmay include the customer's unique customer identifier, which thecustomer service system may utilize to find the customer's entry withinthe customer identifier column 704 of the customer database 702.

When a customer registers with the service provider to utilize thecustomer service system, the customer may be required to provideadditional information that may be included in the customer's entrywithin the customer database 702. For instance, as illustrated in FIG.7, the customer database 702 may include a known languages column 706,which may include, for each customer identifier, a listing of thelanguages that a customer may be familiar or fluent with. For example, acustomer, such as Customer A as illustrated in FIG. 7, may specify thathe is fluent in both English and Spanish. The customer database 702 mayfurther include a gender column 708, which may include the gender foreach customer included in the customer database 702. The location column710 included in the customer database 702 may include the latest knownlocation of the customer. For instance, the customer may specify his orher location when registering with the service provider to utilize thecustomer service system. Alternatively, the customer service system maybe configured to determine the location of the customer when he or sheaccesses the customer service system through one or more methods (e.g.,GPS location, Internet Protocol tracking, etc.).

The preference column 712 in the customer database 702 may include oneor more customer preferences that may be used to identify a servicerepresentative that may address a customer's request for assistance. Inan embodiment, the service provider can require each customer to specifyone or more preferences which may be used by the customer service systemto select a service representative to assist the customer should suchassistance be required. These one or more preferences may be included inthe preference column 712 for later use by the customer service system.In an alternative embodiment, the customer service system is configuredto utilize one or more algorithms and the customer characteristicsincluded in the customer database 702, such as the aforementioned knownlanguages, gender and location, to calculate one or more preferences foreach customer listed in the customer database 702. These calculatedpreferences may be added to the preference column 712 of the customerdatabase.

As noted above, the customer service system may access the customerdatabase to obtain a set of preferences that may be used to identify aservice representative from a service representative database that mayassist the customer. FIG. 8 shows an illustrative example of a servicerepresentative database 802 comprising a plurality of servicerepresentative entries in accordance with at least one embodiment. Forinstance, in this particular illustrative example, the servicerepresentative database 802 may include at least four distinctcategories for service representative characteristics. The servicerepresentative characteristics that may be included in the servicerepresentative database 802, in this example, include columns for aservice representative identifier 804, known languages 806, gender 808and service representative location 810, although not all embodiments ofthe present disclosure will include all such service representativecharacteristics and additional service representative characteristicsmay be included in the service representative database 802 in additionto or as an alternative to the service representative characteristicsexplicitly described herein.

The service representative identifier column 804 within the servicerepresentative database 802 may be utilized to identify and distinguisheach service representative employed by the service provider to providecustomer assistance. For instance, when a service representative isissued a computing device to provide customer assistance from a remotelocation, the service provider may generate a unique servicerepresentative identifier that may be assigned to the particular servicerepresentative and entered into the service representative identifiercolumn 804. When the service representative utilizes the computingdevice to access customer information and interact with one or morecustomers of the service provider, the service representative may berequired to provide his or her unique identifier, which the customerservice system may utilize to obtain service representative informationnecessary to evaluate the service representative's surroundingenvironment and determine which customer requests may be issued to theservice representative.

The service representative database 802 may further include a knownlanguages column 806, which may include the one or more languages thateach service representative is fluent in. For instance, as illustratedin FIG. 8, Representative A may be fluent only in English whileRepresentative C may be fluent in English, Mandarin and Thai. Eachservice representative may be required by the service provider toprovide a listing of languages he or she is fluent in such that theservice provider may provide this known languages column 806. Thiscolumn may be used to identify any service representatives that arefluent in the language utilized by a customer that has submitted arequest for assistance. The service representative database 802 mayfurther include a gender column 808, which may include the gender foreach service representative included in the service representativedatabase 802.

As noted above, the computing device issued to each servicerepresentative may include a service representative environmentapplication that may be used to evaluate the surrounding environmentwhere the computing device is located. Additionally, this applicationmay utilize one or more peripheral devices installed on the computingdevice to garner one or more service representative characteristics thatmay be used to populate the service representative's entry within theservice representative database 802. For instance, the application maybe able to obtain the location of the computing device through use of aGPS receiver and antenna. The customer service system may utilize thisobtained location to populate a location column 810 within the servicerepresentative database 802. Since the application may be able to obtainthe location of the computing device at different times or as a resultof a triggering event, the location included within the location column810 may change accordingly.

When a customer or other user submits a request for assistance to thecustomer service system, the customer service system may access thecustomer database to obtain customer attributes and preferences. Thiscustomer information and preferences may be used to select a servicerepresentative from a service representative database that may assistthe customer.

FIG. 9 shows an illustrative example of an environment 900 in which aservice representative is selected to provide customer assistance basedat least in part on customer preferences and attributes in accordancewith at least one embodiment. In this particular example, Customer A isa customer of the service provider and may have the one or moreattributes illustrated in FIG. 7. For example, as illustrated in FIG. 7,Customer A may be fluent in English and Spanish, male, and located inSan Juan, Puerto Rico. Further, Customer Amay have specified that heprefers to interact with a service representative that is located in asimilar region, such as Puerto Rico, the Caribbean, or the East Coast ofthe United States.

While customers of the service provider, such as Customer A, are usedextensively throughout the present disclosure for the purpose ofillustration, other users may utilize a computing device issued by theservice provider to a customer to request assistance. Thus, in anembodiment, when a customer service system 902 receives a request, froma user via the user's computing device, for assistance, the customerservice system 902 can transmit one or more executable instructions tothe computing device that, when executed by the computing device, maycause the computing device to obtain information regarding the user.This information may be used to identify a service representative thatmay share one or more attributes or characteristics with the user of thecomputing device. Additionally, the customer service system 902 mayutilize this information to determine whether the user of the computingdevice is indeed the customer that was issued the computing device bythe service provider. In an alternative embodiment, in order to submit arequest for assistance, the computing device is configured to utilizeone or more peripheral devices installed on the computing device (e.g.,microphone, camera, etc.) to obtain information about the customer orother user. This information may be included with the request forassistance to be transmitted to the customer service system 902.

Customer Amay, through a customer computing device 908, submit a requestfor assistance to the customer service system 902 through a network 910,such as the Internet. The request may include a description of the issuethat Customer A is experiencing, as well as other information that maybe used to identify Customer A (e.g., username, location, theaforementioned attributes or characteristics obtained from the computingdevice, etc.). The customer service system 902 may access a customerdatabase 904 to determine whether an entry exists within the customerdatabase 904 for Customer A. If an entry for Customer A exists withinthe customer database 904, the customer service system 902 may determinewhether Customer A has specified one or more preferences that may beused to select a service representative. Since Customer A, asillustrated in FIG. 7, has specified a preference and this preference isincluded in the customer database 904, the customer service system 902may utilize this preference (e.g., a service representative within thesame region) to select a service representative from a servicerepresentative database 906.

The customer service system 902 may access the service representativedatabase 906 to determine whether any service representatives arelocated in the same region as Customer A, which may be determined basedat least in part on a location of the customer computing device 908.Using the listing of service representatives illustrated in FIG. 8, thecustomer service system 902 may determine that Representative D is theonly service representative located in the same region (Cerro Gordo andSan Juan are both in Puerto Rico) as Customer A. Thus, the customerservice system 902 may select Representative D to respond to CustomerA's 908 request for assistance. In an embodiment, if more than oneservice representative listed in the service representative database 906satisfied Customer A's 908 preference to interact with a servicerepresentative from his region, the customer service system 902 mayperform one or more calculations to select an appropriate servicerepresentative. For instance, the customer service system 902 may selectthe service representatives that are within the same region as CustomerA. Subsequently, the customer service system 902 may utilize CustomerA's 908 attributes and characteristics listed in the customer database904 to determine if the selected service representatives share any ofthese attributes and characteristics. The customer service system 902may rank these selected service representatives from the servicerepresentative database 906 and select the highest ranked servicerepresentative to respond to the request for assistance.

Once the customer service system 902 has selected Representative D fromthe service representative database 906 to respond to the request forassistance, the customer service system 902 may deliver the request andsupplemental customer information regarding Customer A to RepresentativeD via a computer system 912 of Representative D. Representative D mayutilize his/her computing device 912 to transmit, through the network910, one or more executable instructions to Customer A's computingdevice 908 that, when executed by Customer A's computing device 908, maycause Customer A's computing device 908 to connect to Representative D's912 computing device. Thus, through this connection, Representative Dmay be able to interact with Customer A to resolve Customer A's 908request for assistance through their respective computing devices 908,912 via the network 910.

As noted above, a customer service system may include a plurality ofcomponents that may be utilized to ensure that service representativeslocated in remote locations provide a suitable environment conducive tointeraction with customers of the service provider, as well as to ensurethat customer requests for assistance are resolved by servicerepresentatives that may satisfy customer preferences and may havesimilar attributes and characteristics as the customer.

FIG. 10 shows an illustrative example of an environment 1000 thatincludes one or more components of a customer service system 1002 inaccordance with at least one embodiment. As illustrated in FIG. 10, thecustomer service system 1002 may interact with one or more components toprovide customer assistance upon request and ensure servicerepresentatives in remote locations provide a secure and amenableenvironment conducive to interaction with customers. For instance, inthis particular illustrative example, the customer service system 1002may interact with at least four different components. The componentsthat may be included within the customer service system 1002, in thisexample, include an environment analysis component 1004, a policyenforcement component 1006, a customer database 1008 and a servicerepresentative database 1010, although not all embodiments of thepresent disclosure will include all such components and additionalcomponents may be included within the customer service system 1002 inaddition to or as an alternative to the components explicitly describedherein.

The environment analysis component 1004 may comprise one or morehardware resources (e.g., hardware servers, data storage devices,network devices, processors and other equipment) configured to performone or more analyses based at least in part on environment measurementsreceived from a computing device issued to a service representative. Theenvironment analysis component 1004 may utilize these receivedenvironment measurements to determine whether the surroundingenvironment where the service representative is utilizing the computingdevice is suitable for interaction with one or more customers of theservice provider and users of the customer service system 1002. Forinstance, the environment analysis component 1004 may include a databasecomprising a listing of minimum requirements for one or more environmentmetrics. These environment metrics may include decibel levels, lightintensity, number of individuals within the surrounding environment,facial features (e.g., hair color, eye color, facial geometry, etc.) andthe like. Further, the database may comprise a listing of knownacceptable values for the surrounding environment for each individualservice representative. These acceptable values may have been obtainedthrough a previous analysis of the surrounding environment for theservice representative that satisfied the minimum requirements, definedby the service provider, for the one or more environment metrics. Theenvironment analysis component 1004 may be configured to interact with apolicy enforcement component 1006 to provide one or more commands, suchas through one or more API calls to the component, to utilize theresults of the analyses to enforce one or more policies forcommunicating with customers of the service provider.

The policy enforcement component 1006 may comprise one or more hardwareresources (e.g., hardware servers, data storage devices, networkdevices, processors and other equipment) configured to enforce one ormore policies applicable to service representatives utilizing computingdevices in remote locations to provide customer assistance.Additionally, the policy enforcement component 1006 may be configured totransmit executable instructions to a computing device issued to aservice representative by the service provider in order to cause anapplication installed on the computing device to perform mitigatingactions should the surrounding environment not satisfy the minimumrequirements described above. The policy enforcement component 1006 mayalso transmit executable instructions to the computing device to enablethe service representative to interact with customers of the serviceprovider should the surrounding environment satisfy the minimumrequirements for the environment and are within the known baselineenvironment metrics for the particular service representative.

The customer database 1008 may include a listing of one or morecustomers of the service provider, as well as a listing ofcharacteristics and preferences for each of these one or more customers.For instance, when a customer initially establishes a relationship withthe service provider (e.g., creates a new account, utilizes a deviceprovided to the customer by a service provider for accessing thecustomer service 1002, etc.), the customer may be required to provideinformation regarding him or herself. For example, the customer mayprovide his or her name, home mailing address, billing address, agerange, gender, known languages and the like. Further, the customer maybe given the opportunity to define one or more preferences, which may beused by the customer service system 1002 to identify a servicerepresentative that may assist the customer should the need arise. In anembodiment, if the customer has not specified one or more preferenceswhich may be used to select a service representative, the customerservice system 1002 can access the customer database 1008 and, based atleast in part on the information included within the customer database1008 associated with the customer, utilize one or more algorithms togenerate one or more preferences, which may then be stored within thecustomer database 1008.

The service representative database 1010 may include a listing of one ormore service representatives of the customer service system 1002 toprovide assistance to the customers of the service provider. The servicerepresentative database 1010 may additionally include a listing of oneor more characteristics for each of the one or more servicerepresentatives employed by the service provider. These characteristicsmay be similar to those included in the customer database 1008. Thecustomer service system 1002 may utilize the customer's preferences fromthe customer database 1008 to identify one or more servicerepresentatives from the service representative database 1010 that maysatisfy these preferences.

FIG. 11 shows an illustrative example of a process 1100 for analyzing aservice representative environment to determine whether to allow aservice representative to interact with customers in accordance with atleast one embodiment. The process 1100 may be performed by anenvironment analysis component of a customer service system that isconfigured to obtain environment measurements, over a network, from acomputing device located in a remote location and issued to a servicerepresentative by the service provider. Additionally, the environmentanalysis component may be configured to transmit executable instructionsto the computing device to initialize a scan of the surroundingenvironment where the computing device is located. In addition to theenvironment analysis component, the process 1100 may be performed by apolicy enforcement component of the customer service system that isconfigured to receive the results of the one or more analyses performedby the environment analysis component and perform one or more actions inaccordance with these results and the one or more policies establishedby the service provider.

In an embodiment, the environment analysis component is configured totransmit one or more executable instructions to a computing deviceprovided to a service representative employed by the service provider toprovide assistance to customers of the service provider. These one ormore executable instructions may cause the computing device to launch1102 a service representative environment application on the servicerepresentative's computing device. As noted above, the servicerepresentative environment application may be configured to interactwith one or more peripheral devices installed on the computing device toobtain one or more environment measurements. For instance, the servicerepresentative environment application may initiate a camera installedon the computing device to obtain a pictographic representation of thesurrounding environment. In an alternative embodiment, the process 1100does not include launching the service representative environmentapplication on the service representative's device, as the servicerepresentative may be required to personally launch the application fromthe computing device. Thus, the environment analysis component of thecomputing service need not transmit the executable instructions tolaunch the application.

Once the service representative environment application has obtainedenvironment measurements from one or more of the peripheral devicesinstalled on the service representative's computing device, theapplication may transmit these measurements to the environment analysiscomponent to initiate analysis of these measurements. Accordingly, theenvironment analysis component may receive 1104 these environmentmeasurements from the service representative environment application inorder to determine whether these measurements are acceptable.

As noted above, the environment analysis component may include adatabase comprising a listing of minimum requirements for one or moreenvironment metrics. These environment metrics may include decibellevels, light intensity, number of individuals within the surroundingenvironment, facial features (e.g., hair color, eye color, facialgeometry, etc.) and the like. Further, the database may comprise alisting of known acceptable values for the surrounding environment foreach individual service representative. These acceptable values may havebeen obtained through a previous analysis of the surrounding environmentfor the service representative that satisfied the minimum requirements,defined by the service provider, for the one or more environmentmetrics. Accordingly, the environment analysis component may beconfigured to determine 1106 whether this database includes previouslyanalyzed environment measurements for this particular servicerepresentative.

If the database comprises previously analyzed environment measurementsfor the service representative, the environment analysis component maycompare 1108 the received environment measurements to the establishedbaseline environment metrics for this particular service representative.These established baseline environment metrics may satisfy the minimumrequirements established by the service provider to ensure that theservice representative is in a location that is conducive to providingassistance to customers of the service provider. However, if this thefirst time the service representative has utilized his device to accessthe customer service system and interact with customers of the serviceprovider, the environment analysis component may not have any knownenvironment measurements for this particular service representative. Insuch an instance, the environment analysis component may instead compare1110 the received environment measurements to the service baselineenvironment metrics (e.g., minimum requirements for the environment tobe acceptable).

Once the environment analysis component has analyzed the receivedenvironment measurements, based at least in part on whether theenvironment analysis component has previously analyzed environmentmeasurements for the service representative, the environment analysiscomponent may determine 1112 whether the received environmentmeasurements are within an acceptable range. For instance, if thereceived environment measurements were compared to the minimumrequirements mentioned above (e.g., no previous environment measurementswere analyzed), the environment analysis component may determine whetherthe received measurements satisfy these minimum requirements.Alternatively, if the received environment measurements were compared tothe established baseline environment metrics for this particular servicerepresentative, the environment analysis component may determine whetherthe received measurements sufficiently vary from the establishedbaseline environment metrics as to present a potential issue.Additionally, if there is a potential issue, the environment analysiscomponent may compare the received environment measurements to theminimum requirements mentioned above.

If the received measurements do fall outside of the acceptable range forthe established baseline environment metrics for the servicerepresentative and/or the minimum requirements established by theservice provider, the environment analysis component may transmit one ormore commands to a policy enforcement component of the customer servicesystem that may cause the policy enforcement component to take 1114 oneor more mitigating actions. For instance, the policy enforcementcomponent may be configured to transmit one or more executableinstructions to the service representative environment application that,when executed by the application, may cause the application to informthe service representative that the surrounding environment is notacceptable for customer interaction. Additionally, the servicerepresentative environment application may subsequently terminate,requiring the service representative to again initialize the applicationand start another scan of the surrounding environment to determinewhether the particular issues have been addressed. In an embodiment, ifthe received environment measurements satisfy the minimum requirementsestablished by the service provider but include sufficient variance fromthe previously established baseline environment metrics for the servicerepresentative, the policy enforcement component can transmit one ormore executable instructions to the service representative environmentapplication that, when executed by the application, may cause theapplication to obtain additional environment measurements over a periodof time to determine whether these new environment measurements may beused to establish new baseline environment metrics for the servicerepresentative.

If the received measurements do fall within the acceptable range for theestablished baseline environment metrics for the service representativeand/or the minimum requirements established by the service provider, theenvironment analysis component may transmit one or more commands to thepolicy enforcement component that may cause the policy enforcementcomponent to enable 1116 the service representative to utilize thecomputing device to interact with customers of the service provider andaccess customer information. For instance, the policy enforcementcomponent may be configured to transmit one or more executableinstructions to the service representative environment applicationinstalled on the computing device that, when executed by theapplication, may cause the application to enable the servicerepresentative to connect to customers of the service provider andprovide assistance as needed. Further, the executable instructions maycause the application to periodically or as a result of a triggeringevent (e.g., another individual is detected, noise levels increase,etc.) obtain a new set of environment measurements and transmit thesemeasurements to the environment analysis component for additionalanalyses.

As noted above, the customer service system may include a customerdatabase comprising one or more entries for each customer of the serviceprovider. For instance, each entry for a customer within the customerdatabase may include one or more attributes or characteristics of thecustomer, such as the customer's known languages, location, gender, haircolor, eye color and the like. Additionally, the customer database mayinclude one or more preferences for characteristics or attributes acustomer may find favorable for selecting a service representative. FIG.12 shows an illustrative example of a process 1200 for recording one ormore customer preferences based at least in part on customer informationand/or explicit customer preference input in accordance with at leastone embodiment. The process 1200 may be performed by a customer servicesystem comprising a customer database usable to record one or morecustomer entries detailing customer attributes or characteristics andpreferences that may be used to select a service representative if thecustomer requires assistance in utilizing a service provided by theservice provider.

When a customer of the service provider submits a request for assistancein addressing an issue related to a service provided by the serviceprovider, the customer may provide additional information that may beused by the customer service system to identify the customer and selectan appropriate service representative to assist the customer. Forinstance, this additional information may include a username or othercredential information for the customer, the current location of thecustomer and a description of the relevant issue that the customer wouldlike addressed by a service representative. The customer service systemmay obtain 1202 customer information from the customer necessary forobtaining assistance from a service representative.

Once the customer service system has obtained the customer information,along with the request for assistance, the customer service system mayrecord 1204 the customer information into the customer database. Forinstance, if the customer information provided differs from the entriesincluded in the customer database for the customer, the customer servicesystem may use this information to update the entries for the customerwithin the customer database. Alternatively, if the customer iscommunicating with the customer service system for the first time, thecustomer service system may use the customer information to create oneor more new entries within the customer database for later use.

As noted above, the customer database may include, for each customer, aset of preferences which may be used to identify a servicerepresentative that may assist the customer in resolving any issuesrelated to a service provided by the service provider and that sharessome characteristics or attributes with the customer. The customerservice system may determine 1206 whether the customer has specified,within the customer information provided to the customer service systemor within the customer database, any preferences that may be used forselecting a service representative. If the customer has not provided aset of preferences within the customer information and the customerdatabase does not include any preferences, the customer service systemmay utilize the characteristics and attributes of the customer tocalculate 1208 one or more customer preferences based at least in parton the customer information provided. For instance, the customer servicesystem may be able to review the customer's purchase history todetermine any customer preferences. For example, if the customer haspreviously purchased numerous quantities of football gear, the customerservice system may determine that the customer is an avid football fanand, thus, may have a preference to interact with a servicerepresentative that is also an avid football fan.

Once the customer service system has calculated the customer preferencesbased at least in part on the customer information provided or if thecustomer has provided a set of preferences within the customerinformation, the customer service system may record 1210 these customerpreferences into the customer database under the customer's entry. Whena customer, at a later time, submits a request for assistance, thecustomer service system may be able to access the customer database,obtain the set of preferences for the customer and identify anappropriate service representative that may assist the customer. Itshould be noted that the process 1200 may include additional, fewer oralternative steps. For instance, in some embodiments, the customerservice system does not calculate or record customer preferences foreach customer. Thus, the customer service system may utilize thecustomer information included in the customer database to rank theavailable service representatives and, based at least in part on thisranking, select a service representative to assist the customer.

As noted above, the customer service system may be configured to selecta service representative based at least in part on customer attributes,characteristics and/or preferences stored within a customer database.FIG. 13 shows an illustrative example of a process 1300 for selecting aservice representative based at least in part on customer preferencesstored in a customer database in accordance with at least oneembodiment. The process 1300 may be performed by a customer servicesystem that includes a customer database and a service representativedatabase. The service representative database may include one or moreentries for each service representative employed by the service providerto assist customers of the service provider should the need arise.Similar to the customer database described above, the servicerepresentative database may include one or more attributes orcharacteristics of the service representative, such as the servicerepresentative's known languages, location, gender, hair color, eyecolor and the like.

At any point, the customer service system may receive 1302 a requestfrom a customer for service assistance. The request may includedescriptive information as to the issue the customer would like to haveresolved with regard to his or her experience with a service provided bythe service provider. Further, the request may include other customerinformation, such as a customer identifier, which may be used by thecustomer service system to locate an entry within the customer databasefor the customer. The request may also include the current location ofthe customer. This location may differ from the location listed in thecustomer database. The customer service system may update the customerdatabase to include this new location for the customer.

Once the customer service system has received the request for assistancefrom the customer, the customer service system may utilize the customerdatabase to determine 1304 one or more customer preferences. Forinstance, as described above in connection with FIG. 12, the customerservice system may be configured to utilize the customer information inthe customer database to calculate one or more preferences if thecustomer has not previously provided one or more preferences to thecustomer service system. Alternatively, if the customer has previouslyprovided one or more preferences to the customer service system, theseone or more preferences may be recorded in the customer database. Thecustomer service system may obtain these one or more preferences toselect an appropriate service representative.

The customer service system may subsequently access the servicerepresentative database to select 1306 one or more available servicerepresentatives based at least in part on the identified customerpreferences. As noted above, the service representative database mayinclude one or more service representative attributes for each servicerepresentative. The service representative database may include similarcategories as those included in the customer database to facilitate theanalysis required to select the one or more service representatives fromthe service representative database. Based at least in part on thecustomer preferences, the customer service system may determine 1308whether more than one service representative may respond to thecustomer's request for assistance.

If the customer service system has selected more than one servicerepresentative based at least in part on the customer's preferences, thecustomer service system may perform 1310 additional calculations basedat least in part on the customer and service representative attributesto select a single service representative. For instance, if a customerhas specified that he or she prefers to be assisted by a servicerepresentative located in the same region as the customer, but two ormore service representatives are located in this same region, thecustomer service system may evaluate the customer database to identifyother attributes of the customer. Subsequently, the customer servicesystem may utilize these other attributes and compare these to theattributes of the selected service representatives. The customer servicesystem may rank the selected service representatives based at least inpart on matching attributes between the customer and the servicerepresentative. For example, if the customer additional knows Englishand Spanish and is located in Huntsville, Ala., a service representativemay be ranked higher if he or she also knows English and Spanish and isin closer proximity to Huntsville, Ala. than the other selected servicerepresentatives. It should be noted that the calculations describedabove are included for illustrative purposes and other calculations andheuristics may be utilized to select a service representative from alisting of two or more service representatives.

Once the customer service system has performed the additionalcalculations required to select a single service representative or onlyone service representative was initially selected based at least in parton the customer's preferences, the customer service system may transmit1312 the customer's request for assistance to the selected servicerepresentative. Additionally, the customer service system may providethe selected service representative with customer account information,which may be useful for identifying the source of the customer's issue.Further, the customer service system may inform the selected servicerepresentative as to how he or she was selected, namely the similarattributes that the customer and service representative may share. Thismay enable the selected service representative to provide appropriatelytailored assistance to the customer.

As noted above, the customer service system may receive requests forassistance from not only customers of the service provider but otherusers as well. For instance, in an embodiment, the customer can utilizea computing device, provided to the customer by the service provider, toaccess one or more services provided by the service provider, as well asthe customer service system. The customer may allow other users toutilize the computing device and, accordingly, submit a request forservice assistance if necessary. Thus, the customer service system mayneed to identify an appropriate service representative through othermethods than using the customer database to obtain one or more customerattributes and preferences. FIG. 14 shows an illustrative example of aprocess 1400 for dynamically selecting a service representative based atleast in part on one or more customer attributes obtained when acustomer submits a request for assistance in accordance with at leastone embodiment. The process 1400 may be performed by a customer servicesystem configured to interact with a customer database and a servicerepresentative database to select an appropriate service representativethat may assist the customer or other user. Additionally, the customerservice system may be configured to transmit one or more executableinstructions to the customer's computing device that, when executed bythe device, may cause the device to utilize one or more peripheraldevices installed on the computing device, including multiple sensorsinstalled on the computing device, to capture and obtain one or moreattributes (e.g., personal characteristics, physical characteristics,other user information etc.) for the customer or other user and,subsequently, transmit these attributes to the customer service system.

At any point, the customer service system may receive 1402 a requestfrom a user of a computing device issued to a customer of the serviceprovider for service assistance. The request may include descriptiveinformation as to the issue the user would like to have resolved withregard to his or her experience with one or more services provided bythe service provider. Further, the request may include other customerinformation associated with the customer who was issued the computingdevice, such as a customer identifier, which may be used by the customerservice system to locate an entry within the customer database for thecustomer. The request may also include the current location of thecomputing device. This location may differ from the location listed inthe customer database.

Once the customer service system has received the request for assistancefrom a user of the computing device, the customer service system maydetermine 1404 one or more user attributes that may be used to select anappropriate service representative. For instance, in an embodiment, thecustomer service system transmits one or more executable instructions tothe computing device that, when executed by the computing device, maycause the computing device to utilize one or more peripheral devicesinstalled on the computing device to obtain one or more personalcharacteristics for the user. For example, if the computing deviceincludes a camera, the computing device may initialize the camera toobtain a pictographic representation of the user utilizing the computingdevice. Additionally, this pictographic representation may furtherinclude other details that may be used to determine the personalcharacteristics of the user. In an alternative embodiment, the userpersonal characteristics are included with the request received from theuser of the computing device. For instance, in order to submit a requestto the customer service system, the computing device may need to obtaina pictographic or other visual representation of the user, which is thentransmitted to the customer service system with the request. Whilepictographic representations and cameras are used throughout the presentdisclosure for the purpose of illustration, other peripheral devices maybe used to obtain user personal characteristics. These may includemicrophones, motion sensors, light sensors, GPS receivers and the like.

Based at least in part on the user attributes, the customer servicesystem may access the customer database and determine 1406 whether theseuser personal characteristics match the existing attributes listed inthe customer database for the customer who was issued the computingdevice. If the determined user personal characteristics do not match theattributes for the existing customer, the customer service system mayutilize 1408 these user attributes to create one or more representativecriteria that may be used to select 1412 an available servicerepresentative from the service representative database. These one ormore representative criteria may be similar to the customer preferencesthat may be included within the customer database as described above. Ifthe user attributes do match the existing attributes for the customerthat was issued the computing device by the service provider, thecustomer service system may determine 1410 the customer preferences fromthe customer database, as described above in connection with FIG. 13,and select 1412 an appropriate, available service representative fromthe service representative database.

Similar to the process described above in connection with FIG. 13, thecustomer service system may determine 1414 whether more than one servicerepresentative may assist the user of the computing device. If thecustomer service system has selected more than one servicerepresentative based at least in part on the customer's preferences orthe representative criteria created based at least in part on the userattributes, the customer service system may perform 1416 additionalcalculations based at least in part on the user and servicerepresentative attributes to select a single service representative. Ifthe customer service system was only able to identify, based at least inpart on the customer preferences or representative criteria, a singleservice representative that may assist the user with a particular issue,or the a single service representative is selected based at least inpart on the additional calculations, the customer service system maytransmit 1418 the user request to the selected service representative.Additionally, the customer service system may provide the selectedservice representative with user information, which may be useful foridentifying the source of the user's issue. Further, the customerservice system may inform the selected service representative as to howhe or she was selected, namely the similar attributes that the user andservice representative may share.

In an embodiment, the customer service system may transmit executableinstructions to the selected service representative's computer devicethat may cause the computer device to utilize an adaptive backgroundscreen located within the selected service representative's environmentto display one or more images. These one or more images may be displayedbased at least in part on one or more personal characteristics of theuser or customer that has submitted a request for assistance. Forinstance, the computing device may transmit one or more executableinstructions to the adaptive background screen, such as through one ormore wireless communications methods (e.g., WiFi, Bluetooth®, etc.), tocause the adaptive background screen 308 to display the one or moreimages.

FIG. 15 illustrates aspects of an example environment 1500 forimplementing aspects in accordance with various embodiments. As will beappreciated, although a web-based environment is used for purposes ofexplanation, different environments may be used, as appropriate, toimplement various embodiments. The environment includes an electronicclient device 1502, which can include any appropriate device operable tosend and/or receive requests, messages or information over anappropriate network 1504 and, in some embodiments, convey informationback to a user of the device. Examples of such client devices includepersonal computers, cell phones, handheld messaging devices, laptopcomputers, tablet computers, set-top boxes, personal data assistants,embedded computer systems, electronic book readers and the like. Thenetwork can include any appropriate network, including an intranet, theInternet, a cellular network, a local area network, a satellite networkor any other such network and/or combination thereof. Components usedfor such a system can depend at least in part upon the type of networkand/or environment selected. Protocols and components for communicatingvia such a network are well known and will not be discussed herein indetail. Communication over the network can be enabled by wired orwireless connections and combinations thereof. In this example, thenetwork includes the Internet, as the environment includes a web server1506 for receiving requests and serving content in response thereto,although for other networks an alternative device serving a similarpurpose could be used as would be apparent to one of ordinary skill inthe art.

The illustrative environment includes at least one application server1508 and a data store 1510. It should be understood that there can beseveral application servers, layers or other elements, processes orcomponents, which may be chained or otherwise configured, which caninteract to perform tasks such as obtaining data from an appropriatedata store. Servers, as used herein, may be implemented in various ways,such as hardware devices or virtual computer systems. In some contexts,servers may refer to a programming module being executed on a computersystem. As used herein, unless otherwise stated or clear from context,the term “data store” refers to any device or combination of devicescapable of storing, accessing and retrieving data, which may include anycombination and number of data servers, databases, data storage devicesand data storage media, in any standard, distributed, virtual orclustered environment. The application server can include anyappropriate hardware, software and firmware for integrating with thedata store as needed to execute aspects of one or more applications forthe client device, handling some or all of the data access and businesslogic for an application. The application server may provide accesscontrol services in cooperation with the data store and is able togenerate content including, but not limited to, text, graphics, audio,video and/or other content usable to be provided to the user, which maybe served to the user by the web server in the form of HyperText MarkupLanguage (“HTML”), Extensible Markup Language (“XML”), JavaScript,Cascading Style Sheets (“CSS”) or another appropriate client-sidestructured language. Content transferred to a client device may beprocessed by the client device to provide the content in one or moreforms including, but not limited to, forms that are perceptible to theuser audibly, visually and/or through other senses including touch,taste, and/or smell. The handling of all requests and responses, as wellas the delivery of content between the client device 1502 and theapplication server 1508, can be handled by the web server using PHP:Hypertext Preprocessor (“PHP”), Python, Ruby, Perl, Java, HTML, XML oranother appropriate server-side structured language in this example. Itshould be understood that the web and application servers are notrequired and are merely example components, as structured code discussedherein can be executed on any appropriate device or host machine asdiscussed elsewhere herein. Further, operations described herein asbeing performed by a single device may, unless otherwise clear fromcontext, be performed collectively by multiple devices, which may form adistributed and/or virtual system.

The data store 1510 can include several separate data tables, databases,data documents, dynamic data storage schemes and/or other data storagemechanisms and media for storing data relating to a particular aspect ofthe present disclosure. For example, the data store illustrated mayinclude mechanisms for storing production data 1512 and user information1516, which can be used to serve content for the production side. Thedata store also is shown to include a mechanism for storing log data1514, which can be used for reporting, analysis or other such purposes.It should be understood that there can be many other aspects that mayneed to be stored in the data store, such as page image information andaccess rights information, which can be stored in any of the abovelisted mechanisms as appropriate or in additional mechanisms in the datastore 1510. The data store 1510 is operable, through logic associatedtherewith, to receive instructions from the application server 1508 andobtain, update or otherwise process data in response thereto. Theapplication server 1508 may provide static, dynamic or a combination ofstatic and dynamic data in response to the received instructions.Dynamic data, such as data used in web logs (blogs), shoppingapplications, news services and other such applications may be generatedby server-side structured languages as described herein or may beprovided by a content management system (“CMS”) operating on, or underthe control of, the application server. In one example, a user, througha device operated by the user, might submit a search request for acertain type of item. In this case, the data store might access the userinformation to verify the identity of the user and can access thecatalog detail information to obtain information about items of thattype. The information then can be returned to the user, such as in aresults listing on a web page that the user is able to view via abrowser on the user device 1502. Information for a particular item ofinterest can be viewed in a dedicated page or window of the browser. Itshould be noted, however, that embodiments of the present disclosure arenot necessarily limited to the context of web pages, but may be moregenerally applicable to processing requests in general, where therequests are not necessarily requests for content.

Each server typically will include an operating system that providesexecutable program instructions for the general administration andoperation of that server and typically will include a computer-readablestorage medium (e.g., a hard disk, random access memory, read onlymemory, etc.) storing instructions that, when executed by a processor ofthe server, allow the server to perform its intended functions. Suitableimplementations for the operating system and general functionality ofthe servers are known or commercially available and are readilyimplemented by persons having ordinary skill in the art, particularly inlight of the disclosure herein.

The environment, in one embodiment, is a distributed and/or virtualcomputing environment utilizing several computer systems and componentsthat are interconnected via communication links, using one or morecomputer networks or direct connections. However, it will be appreciatedby those of ordinary skill in the art that such a system could operateequally well in a system having fewer or a greater number of componentsthan are illustrated in FIG. 15. Thus, the depiction of the system 1500in FIG. 15 should be taken as being illustrative in nature and notlimiting to the scope of the disclosure.

The various embodiments further can be implemented in a wide variety ofoperating environments, which in some cases can include one or more usercomputers, computing devices or processing devices which can be used tooperate any of a number of applications. User or client devices caninclude any of a number of general purpose personal computers, such asdesktop, laptop or tablet computers running a standard operating system,as well as cellular, wireless and handheld devices running mobilesoftware and capable of supporting a number of networking and messagingprotocols. Such a system also can include a number of workstationsrunning any of a variety of commercially-available operating systems andother known applications for purposes such as development and databasemanagement. These devices also can include other electronic devices,such as dummy terminals, thin-clients, gaming systems and other devicescapable of communicating via a network. These devices also can includevirtual devices such as virtual machines, hypervisors and other virtualdevices capable of communicating via a network.

Various embodiments of the present disclosure utilize at least onenetwork that would be familiar to those skilled in the art forsupporting communications using any of a variety ofcommercially-available protocols, such as Transmission ControlProtocol/Internet Protocol (“TCP/IP”), User Datagram Protocol (“UDP”),protocols operating in various layers of the Open System Interconnection(“OSI”) model, File Transfer Protocol (“FTP”), Universal Plug and Play(“UpnP”), Network File System (“NFS”), Common Internet File System(“CIFS”) and AppleTalk. The network can be, for example, a local areanetwork, a wide-area network, a virtual private network, the Internet,an intranet, an extranet, a public switched telephone network, aninfrared network, a wireless network, a satellite network and anycombination thereof.

In embodiments utilizing a web server, the web server can run any of avariety of server or mid-tier applications, including Hypertext TransferProtocol (“HTTP”) servers, FTP servers, Common Gateway Interface (“CGI”)servers, data servers, Java servers, Apache servers and businessapplication servers. The server(s) also may be capable of executingprograms or scripts in response to requests from user devices, such asby executing one or more web applications that may be implemented as oneor more scripts or programs written in any programming language, such asJava®, C, C# or C++, or any scripting language, such as Ruby, PHP, Perl,Python or TCL, as well as combinations thereof. The server(s) may alsoinclude database servers, including without limitation thosecommercially available from Oracle®, Microsoft®, Sybase® and IBM® aswell as open-source servers such as MySQL, Postgres, SQLite, MongoDB,and any other server capable of storing, retrieving and accessingstructured or unstructured data. Database servers may includetable-based servers, document-based servers, unstructured servers,relational servers, non-relational servers or combinations of theseand/or other database servers.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (“CPU” or “processor”), atleast one input device (e.g., a mouse, keyboard, controller, touchscreen or keypad) and at least one output device (e.g., a displaydevice, printer or speaker). Such a system may also include one or morestorage devices, such as disk drives, optical storage devices andsolid-state storage devices such as random access memory (“RAM”) orread-only memory (“ROM”), as well as removable media devices, memorycards, flash cards, etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.) and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed and/or removable storagedevices as well as storage media for temporarily and/or more permanentlycontaining, storing, transmitting and retrieving computer-readableinformation. The system and various devices also typically will includea number of software applications, modules, services or other elementslocated within at least one working memory device, including anoperating system and application programs, such as a client applicationor web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets) or both. Further, connection to other computing devices suchas network input/output devices may be employed.

Storage media and computer readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as, but notlimited to, volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer readable instructions, data structures,program modules or other data, including RAM, ROM, Electrically ErasableProgrammable Read-Only Memory (“EEPROM”), flash memory or other memorytechnology, Compact Disc Read-Only Memory (“CD-ROM”), digital versatiledisk (DVD) or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices or any othermedium which can be used to store the desired information and which canbe accessed by the system device. Based on the disclosure and teachingsprovided herein, a person of ordinary skill in the art will appreciateother ways and/or methods to implement the various embodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the invention asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit theinvention to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the invention, asdefined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected,” when unmodified and referring to physical connections, isto be construed as partly or wholly contained within, attached to orjoined together, even if there is something intervening. Recitation ofranges of values herein are merely intended to serve as a shorthandmethod of referring individually to each separate value falling withinthe range, unless otherwise indicated herein and each separate value isincorporated into the specification as if it were individually recitedherein. The use of the term “set” (e.g., “a set of items”) or “subset”unless otherwise noted or contradicted by context, is to be construed asa nonempty collection comprising one or more members. Further, unlessotherwise noted or contradicted by context, the term “subset” of acorresponding set does not necessarily denote a proper subset of thecorresponding set, but the subset and the corresponding set may beequal.

Conjunctive language, such as phrases of the form “at least one of A, B,and C,” or “at least one of A, B and C,” unless specifically statedotherwise or otherwise clearly contradicted by context, is otherwiseunderstood with the context as used in general to present that an item,term, etc., may be either A or B or C, or any nonempty subset of the setof A and B and C. For instance, in the illustrative example of a sethaving three members, the conjunctive phrases “at least one of A, B, andC” and “at least one of A, B and C” refer to any of the following sets:{A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Thus, such conjunctivelanguage is not generally intended to imply that certain embodimentsrequire at least one of A, at least one of B and at least one of C eachto be present.

Operations of processes described herein can be performed in anysuitable order unless otherwise indicated herein or otherwise clearlycontradicted by context. Processes described herein (or variationsand/or combinations thereof) may be performed under the control of oneor more computer systems configured with executable instructions and maybe implemented as code (e.g., executable instructions, one or morecomputer programs or one or more applications) executing collectively onone or more processors, by hardware or combinations thereof. The codemay be stored on a computer-readable storage medium, for example, in theform of a computer program comprising a plurality of instructionsexecutable by one or more processors. The computer-readable storagemedium may be non-transitory.

The use of any and all examples, or exemplary language (e.g., “such as”)provided herein, is intended merely to better illuminate embodiments ofthe invention and does not pose a limitation on the scope of theinvention unless otherwise claimed. No language in the specificationshould be construed as indicating any non-claimed element as essentialto the practice of the invention.

Embodiments of the disclosure can be described in view of the followingclauses:

1. A non-transitory computer-readable storage medium having storedthereon executable instructions that, when executed by one or moreprocessors of a computer system, cause the computer system to at least:

receive, from a customer computing device, a customer request forassistance, the customer request fulfillable by enabling communicationbetween the customer computing device and a service representativecomputing device;

receive, from the service representative computing device, one or moreenvironment measurements from an environment where the servicerepresentative is located;

analyze the received one or more environment measurements to determineif the one or more measurements satisfy a plurality of thresholdrequirements for the environment; and

enable, if the environment measurements do satisfy the plurality ofthreshold requirements for the environment, communication between thecustomer computing device and the service representative computingdevice.

2. The non-transitory computer-readable storage medium of clause 1,wherein the instructions further comprise instructions that, whenexecuted by the one or more processors, cause the computer system totransmit, prior to receiving the one or more environment measurements,one or more executable instructions to the service representativecomputing device that, when executed by the service representativecomputing device, cause the service representative computing device toobtain the one or more environment measurements.3. The non-transitory computer-readable storage medium of clauses 1 and2, wherein the instructions further comprise instructions that, whenexecuted by the one or more processors, cause the computer system to:analyze the received one or more environment measurements to determineif the one or more measurements satisfy one or more baseline metricsestablished based at least in part on an analysis of the environmentwhere the service representative is located, the analysis of theenvironment conducted prior to receiving the customer request; andtransmit, if the environment measurements do not satisfy the one or morebaseline metrics, the one or more executable instructions to the servicerepresentative computing device that, when executed by the servicerepresentative computing device, cause the service representativecomputing device to perform one or more mitigating actions.4. The non-transitory computer-readable storage medium of clauses 1-3,wherein to enable communication between the customer computing deviceand the service representative computing device further includespermitting the service representative to access, using the servicerepresentative computing device, customer information for the customer.5. A system, comprising:at least one computing device configured to implemented one or moreservices, wherein the one or more services are configured to:obtain, from a representative computing device used by a representativeof the one or more services, one or more environment measurements of asurrounding environment where the representative computing device islocated;determine if the one or more measurements satisfy one or more criteria;andcause one or more actions to be performed based at least in part on thedetermination.6. The system of clause 5, wherein the one or more environmentmeasurements are obtained, by the representative computing device, byfurther utilizing one or more components associated with therepresentative computing device to measure the surrounding environmentwhere the representative computing device is located.7. The system of clauses 5 and 6, wherein the one or more criteriafurther include a plurality of minimum requirements for the surroundingenvironment where the representative computing device is located and oneor more baseline metrics established based at least in part on ananalysis of the surrounding environment where the representativecomputing device is located, the analysis of the surrounding environmentconducted prior to receiving the one or more environment measurements.8. The system of clauses 5-7, wherein the one or more services arefurther configured to: utilize one or more functions to determine if theone or more measurements satisfy the one or more criteria, the one ormore functions configured to utilize at least the one or moreenvironment measurements as input and the one or more functionsdeveloped by providing the one or more environment measurements to ahuman;provide the one or more environment measurements of the surroundingenvironment to a human for a human determination whether the surroundingenvironment satisfies the one or more criteria; andupdate the one or more functions based at least in part on the humandetermination.9. The system of clauses 5-8, wherein the one or more services arefurther configured to, prior to receiving the one or more environmentmeasurements, transmit one or more executable instructions to therepresentative computing device that, when executed by therepresentative computing device, cause the representative computingdevice to obtain the one or more environment measurements.10. The system of clauses 5-9, wherein the one or more services arefurther configured to enable the representative computing device to beutilized by the representative of the one or more services to interactwith one or more customer devices utilized by one or more customers ofthe one or more services if the one or more environment measurementssatisfy the one or more criteria.11. The system of clauses 5-10, wherein the one or more mitigatingactions further include: preventing the representative computing devicefrom being used to interact with at least one customer of the one ormore services; andtransmitting one or more executable instructions to the representativecomputing device that, when executed by the representative computingdevice, cause the representative computing device to obtain additionalenvironment measurements to determine if the additional environmentmeasurements satisfy the one or more criteria.12. The system of clauses 5-11, wherein the one or more environmentmeasurements from the representative computing device are furtherreceived in response to a customer request for assistance fulfillable byenabling communication between the customer and the representativethrough the representative computing device.13. A computer-implemented method for evaluating an environment where arepresentative is located to determine whether the representative canrespond to customer requests for assistance, comprising:under the control of one or more computer systems configured withexecutable instructions, analyzing one or more environment measurementsreceived from a computing device operated by a representative of one ormore services to determine if an environment where the computing deviceis located satisfies one or more criteria for environments ofrepresentatives; andenabling, if the environment measurements do satisfy the one or morecriteria, the computing device to be utilized by the representative ofthe one or more services to interact with at least one customer deviceutilized by a customer of the one or more services.14. The computer-implemented method of clause 13, further comprising,prior to receiving the one or more environment measurements,transmitting one or more executable instructions to the computing devicethat, when executed by the computing device, cause the computing deviceto obtain the one or more environment measurements.15. The computer-implemented method of clauses 13 and 14, wherein theone or more criteria further include one or more minimum requirementsfor the environments of representatives and one or more baseline metricsestablished based at least in part on an analysis of the environmentwhere the computing device is located, the analysis of the environmentconducted prior to receiving the one or more environment measurements.16. The computer-implemented method of clauses 13-15, wherein analyzingthe one or more measurements further includes:providing the one or more environment measurements into one or morefunctions as input to determine, based at least on the one or moreenvironment measurements, if the environment satisfies the one or morecriteria;receiving a human-made determination as to whether the environmentsatisfies the one or more criteria; andupdating the one or more functions based at least in part on thehuman-made determination.17. The computer-implemented method of clauses 13-16, wherein enablingcomputing device to be utilized by the representative of the one or moreservices to interact with the at least one customer device utilized bythe customer of the one or more services further includes permitting therepresentative to access, using the computing device, customerinformation for the customer of the one or more services.18. The computer-implemented method of clauses 13-17, wherein the one ormore environment measurements from the computing device are furtherreceived in response to a customer request for assistance fulfillable byenabling communication between the customer and the representativethrough the computing device.19. The computer-implemented method of clauses 13-18, wherein thecomputing device further includes an application configured to accessand utilize one or more devices of the computing device to obtain theenvironment measurements and transmit the environment measurements tothe computer system.20. The computer-implemented method of clauses 13-19, wherein:the method further comprises causing the computing device to perform oneor more mitigating actions if the environment measurements do notsatisfy the one or more criteria; andthe one or more mitigating actions include:preventing the computing device from being used to access dataassociated with one or more customers of the one or more services;preventing the computing device from being used to interact with atleast one customer of the one or more services; andtransmitting one or more executable instructions to the representativecomputing device that, when executed by the representative computingdevice, cause the representative computing device to obtain additionalenvironment measurements to determine if the additional environmentmeasurements satisfy the one or more criteria.21. A non-transitory computer-readable storage medium having storedthereon executable instructions that, when executed by one or moreprocessors of a computer system, further cause the computer system to atleast:receive, from a customer computing device, a request for assistancefulfillable by one of a plurality of service representatives;retrieve, based at least in part on the request, one or more customerattributes of a customer, the one or more customer attributes includingbiometric and geographic characteristics associated with the customer;access a service representative database comprising identifiers for theplurality of service representatives and, for one or more servicerepresentatives of the plurality of service representatives, one or moreservice representative attributes, the one or more servicerepresentative attributes including biometric and geographiccharacteristics for the one or more service representatives;select a service representative from the plurality of servicerepresentatives based at least in part on an analysis of the one or moreservice representative attributes and the one or more customerattributes; andenable a computing device utilized by the selected representative tocommunicate with the customer computing device.22. The non-transitory computer-readable storage medium of clause 21,wherein retrieving the one or more attributes of the customer furtherincludes transmitting executable instructions to the customer computingdevice that, when executed by the customer computing device, cause thecustomer computing device to utilize one or more devices to obtain theone or more attributes.23. The non-transitory computer-readable storage medium of clauses 21and 22, wherein the one or more customer attributes further include oneor more customer preferences for specified attributes of a servicerepresentative such that selecting a service representative from theplurality of service representatives is further based at least in parton the customer preferences.24. The non-transitory computer-readable storage medium of clauses21-23, wherein enabling the selected service representative to utilizethe computing device to communicate with the customer computing devicefurther includes transmitting a notification to the selected servicerepresentative, the notification including information as to how theselected service representative was selected.25. A computer system, comprising:one or more processors; andmemory having stored therein instructions that, when executed by thecomputer system, further cause the computer system to:obtain one or more personal characteristics of a user in response to arequest for assistance from a computing device utilized by the user, theone or more personal characteristics captured by one or more componentsof the computing device utilized by the user for capturing visualinformation;access a representative database comprising one or more personalcharacteristics of one or more representatives of a plurality ofrepresentatives; andselect, based at least in part on an analysis of the one or morepersonal characteristics of the user and the one or more personalcharacteristics of the one or more representatives, a representativefrom the plurality of representatives.26. The computer system of clause 25, wherein:the one or more personal characteristics of the user are furtherretrieved from a customer database comprising one or more identifiersand personal characteristics for a plurality of customers; andthe customer database further comprises one or more preferences for theplurality of customers, the one or more preferences including one ormore specified characteristics for selecting the representative from theplurality of representatives.27. The computer system of clauses 25 and 26, wherein the instructionsfurther cause the system to:analyze the obtained one or more personal characteristics to determineif the user is a customer, the customer having utilized the computingdevice to provide one or more preferences including one or morespecified characteristics for selecting the representative from theplurality of representatives; andutilize the one or more specified characteristics of the one or morepreferences in the analysis used to select the representative if theuser is determined to be a customer.28. The computer system of clauses 25-27, wherein the instructionsfurther cause the system to, prior to obtaining the one or more personalcharacteristics of the user, transmit executable instructions to thecomputing device utilized by the user to submit the request that, whenexecuted by the computing device, cause the computing device to utilizethe one or more components of the computing device utilized by the userfor capturing visual information to obtain the one or more personalcharacteristics of the user.29. The computer system of clauses 25-28, wherein the analysis of theone or more personal characteristics of the user and the one or morepersonal characteristics of the one or more representatives includes:ranking the one or more representatives based at least in part onsimilarities between the one or more personal characteristics of theuser and the one or more personal characteristics of the one or morerepresentatives; andutilizing a highest ranking of the one or more representatives as inputfor selecting the representative.30. The computer system of clauses 25-29, wherein the instructionsfurther cause the system to transmit a notification to a representativecomputing device utilized by the selected representative, thenotification including information as to how the selected representativewas selected.31. The computer system of clauses 25-30, wherein the analysis of theone or more personal characteristics of the user and the one or morepersonal characteristics of the one or more representatives is furtherconducted utilizing one or more functions defined using one or morealgorithms and having the one or more personal characteristics of theuser and the one or more personal characteristics of the one or morerepresentatives as input.32. The computer system of clauses 25-31, wherein the selection of therepresentative from the plurality of representatives is further based atleast in part on an analysis of information included in the request forassistance from the computing device utilized by the user andinformation about the user obtained from the computing device utilizedby the user to submit the request.33. The computer system of clauses 25-32, wherein the one or morepersonal characteristics of the user further comprise one or morephysical characteristics of the user.34. A computer-implemented method for providing assistance, comprising:under the control of one or more computer systems configured withexecutable instructions, further obtaining one or more personalcharacteristics of a user in response to a request for assistancereceived from a user computing device utilized by a user, the one ormore personal characteristics obtained from information captured bymultiple sensors of the user computing device; andselecting a representative from a plurality of representatives based atin part on an analysis of the obtained one or more personalcharacteristics of the user and one or more personal characteristics ofone or more representatives of a plurality of representatives.35. The computer-implemented method of clause 34, further comprising:analyzing the obtained one or more personal characteristics of the userto determine if the user is a customer, the customer having provided oneor more preferences including one or more specified characteristics forselecting the representative from the plurality of representatives; andutilizing the one or more specified characteristics of the one or morepreferences in the analysis used to select the representative if theuser is determined to be a customer.36. The computer-implemented method of clauses 34-35, wherein:the one or more personal characteristics of the user are obtained from acustomer database further comprising one or more identifiers andpersonal characteristics for a plurality of customers; and the customerdatabase further comprises one or more preferences for the plurality ofcustomers, the one or more preferences including one or more specifiedcharacteristics for selecting the representative from the plurality ofrepresentatives.37. The computer-implemented method of clauses 34-36, further comprisingtransmitting one or more executable instructions to an adaptivebackground screen used by the selected representative that, whenexecuted by the adaptive background screen, causes the adaptivebackground screen to display one or more images selected based at leastin part on the one or more personal characteristics of the user.38. The computer-implemented method of clauses 34-37, wherein theanalysis further includes utilizing one or more functions defined usingone or more algorithms and having the one or more personalcharacteristics of the user as input.39. The computer-implemented method of clauses 34-38, wherein theinstructions further include instructions that, when executed by the oneor more processors, cause the computer system to:select, based at in part on the obtained one or more personalcharacteristics of the user, a background; andcause the selected background to be displayed with the selectedrepresentative on a display of the user computing device during a timewhen the selected representative communicates with the user via the usercomputing device.40. The computer-implemented method of clauses 34-39, wherein the one ormore personal characteristics of the user are further based at least inpart on an avatar associated with the user.

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the invention.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate and the inventors intend for embodiments of the presentdisclosure to be practiced otherwise than as specifically describedherein. Accordingly, the scope of the present disclosure includes allmodifications and equivalents of the subject matter recited in theclaims appended hereto as permitted by applicable law. Moreover, anycombination of the above-described elements in all possible variationsthereof is encompassed by the scope of the present disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications and patents,cited herein are hereby incorporated by reference to the same extent asif each reference were individually and specifically indicated to beincorporated by reference and were set forth in its entirety herein.

What is claimed is:
 1. A set of non-transitory computer-readable storagemedia having that stores executable instructions that, if executed byone or more processors of a computer system, cause the computer systemto: in response to a request to provide assistance to a customer, enablea computing device associated with a representative to communicate withthe customer computing device; during a communication session with thecustomer computing device, receive, from the computing device associatedwith the representative, one or more environment measurements from theenvironment where the representative has been located and determinewhether the one or more environment measurements satisfy one or morerequirements for the environment, including determining that there ismore than one individual in the environment and by identifying that noindividual in the environment appears to be the representative; and as aresult of the one or more requirements not being satisfied during thecommunication with the customer computing device, enable a customerservice system to take mitigating actions including triggering anotification to the computing device associated with the representativethat the one or more requirements were not satisfied during thecommunication with the customer computing device.
 2. The set ofnon-transitory computer-readable storage media of claim 1, wherein themitigating actions further includes preventing the representative frombeing selected from a plurality of representatives in response to afurther request for assistance from a further customer devicefulfillable by one of the plurality of representatives.
 3. The set ofnon-transitory computer-readable storage media of claim 1, wherein theinstructions further cause the computer system to: receive, from asecond customer computing device, a second request for assistancefulfillable by one of a plurality of service representatives; select therepresentative from the plurality of representatives; receive, from thecomputing device associated with the representative, one or more furtherenvironment measurements from the environment where the representativeis located; determine whether the one or more further environmentmeasurements satisfy the one or more requirements for the environment;and as a result of the one or more requirements being satisfied, enablea computing device associated with a representative to communicate withthe second customer computing device.
 4. The set of non-transitorycomputer-readable storage media of claim 1, wherein the one or morerequirements include one or more of decibel levels, light intensity,number of individuals within the environment where the representative islocated, and facial recognition of the representative.
 5. A system,comprising: at least one network computing device configured toimplement one or more services, wherein the one or more services: duringcommunication with a computing device associated with a user, obtain aset of one or more measurements of an environment where a representativeis located and determine whether the set of one or more measurementssatisfy one or more requirements for the environment, the determiningwhether the set of one or more measurements satisfy one or morerequirements for the environment including determining, based at leastin part on the one or more measurements, that there is more than oneindividual in the environment and that no individual in the environmentappears to be the representative; and as a result of the one or morerequirements not being satisfied during the communication with thecomputing device associated with the user, enabling mitigating actionsfor the one or more requirements not being satisfied.
 6. The system ofclaim 5, wherein the mitigating actions include triggering anotification to the representative computing device that the one or morerequirements were not satisfied during the communication with thecomputing device associated with a user.
 7. The system of claim 5,wherein the set of one or more measurements of the environment where therepresentative is located comprise one or more of facial recognitiondetails, sound levels, global positioning system (GPS) coordinates,light intensity, and motion detection characteristics.
 8. The system ofclaim 5, wherein the mitigating actions include termination of thecommunication with the computing device associated with the user.
 9. Thesystem of claim 5, wherein the communication with the computing deviceassociated with the user includes granting the representative computingdevice access to customer information associated with the user, andwherein the mitigating actions include preventing the representativecomputing device from accessing customer information associated with theuser.
 10. The system of claim 5, wherein the set of one or moremeasurements of the environment where the representative is located areobtained via one or more of a microphone, camera, light sensor, motionsensor, and global positioning system.
 11. The system of claim 5,wherein the mitigating actions include causing the representativecomputing device to display an informative notice indicating currentissues with the environment and indicating mitigating actions beingtaken to prevent interaction with customers by the representativecomputing device.
 12. A computer-implemented method for providingassistance, comprising: during a communication session with a computingdevice associated with a user, obtaining a set of one or moremeasurements of an environment where a representative can be located anddetermine whether the set of one or more measurements satisfy one ormore requirements for the environment, including determining that thereis more than one individual in the environment and by identifying thatno individual in the environment appears to be the representative; andas a result of the one or more requirements not being satisfied duringthe communication session with the user computing device, enablingmitigating actions.
 13. The computer-implemented method of claim 12,wherein the mitigating actions include disabling access to a customerdatabase by a computing device associated with representative.
 14. Thecomputer-implemented method of claim 12, wherein the one or morerequirements include one or more of decibel levels, light intensity,number of individuals within the environment, and identifiable facialfeatures of the representative.
 15. The computer-implemented method ofclaim 12, wherein the mitigating actions include terminating anapplication executing on a computing device associated withrepresentative enabling communication with the user computing device andrequiring the representative to re-initialize the application and obtaina set of one or more second measurements of the environment where therepresentative is located and determine whether the set of one or moresecond measurements satisfy the one or more requirements for theenvironment.
 16. The computer-implemented method of claim 12, whereinthe mitigating actions include causing a policy enforcement component totransmit a set of commands to a service representative environmentapplication, which cause the application to prevent a representativecomputing device from interacting with any customers.
 17. Thecomputer-implemented method of claim 12, wherein the mitigating actionsinclude obtaining a set of one or more further measurements of theenvironment where the representative is located and determining whetherthe set of one or more further measurements satisfy one or morerequirements for the environment after a timeout period.
 18. Thecomputer-implemented method of claim 12, wherein the mitigating actionsinclude displaying at a computing device associated with representativea pictographic representation of an analyses performed while determiningwhether the set of one or more measurements satisfy one or morerequirements for the environment and an indication of the one or morerequirements not being satisfied during the communication session withthe user computing device.